j'ai une listview modèle et une colonne est un bouton. J'ai besoin de l'élément sélectionné lorsque je clique sur ce bouton. Comment je peux faire ??
Voulez-vous dire que vous voulez obtenir de l'élément actuellement sélectionné ou voulez-vous sélectionner l'élément où le bouton est dans?
OriginalL'auteur Filipe Sguarizi Panceri | 2011-02-07
De cature l'élément de liste sélectionné à l'intérieur d'une touche de l'événement, vous pouvez tirer parti de la pattern MVVM. Dans ma Liste, dans le code XAML, je la lie de la ItemsSource et SelectedItem à une classe ViewModel. J'ai également lier mon bouton de Commande dans le modèle de RunCommand dans le ViewModel.
La partie la plus délicate est l'obtention de la liaison correcte à partir du modèle de l'actif DataContext.
Une fois que vous faites cela, vous pouvez capturer l'SelectedCustomer à l'intérieur de la RunCommand que
est exécuté lorsque le bouton enfoncé.
J'ai inclus une partie du code pour vous aider à démarrer.
Vous pouvez trouver des implémentations de ViewModelBase et DelegateCommand via Google.
Voici le code XAML:
Ici est le ViewModel:
C'est là que j'ai le lien dans le ViewModel de la Vue:
OriginalL'auteur Zamboni
Exemple régulière d'un événement de clic dans le code behind:
Code derrière:
Remarque: bien que j'apprécie MVVM, j'ai fini par accepter qu'il existe une assez forte pente de dimminishing retourne une fois que vous croisez dans des actions et des messages entre la forme et la machine virtuelle, donc je ne l'utilise que dans les cas de relations complexes entre les ordinateurs virtuels ou de grandes singulier VMs. Pour CRUD style d'applications centrées sur les données, je préfère gérer les actions et les relais de message avec le code derrière.
OriginalL'auteur b_levitt