Dans mon viewmodel, j'ai une liste (ObservableCollection) contenant des éléments. Dans la vue, cette liste est affichée dans un ItemsControl
. Dans chaque rangée, il y a un bouton "Supprimer". Je veux la commande derrière le bouton pour supprimer l'élément de la liste.WPF: Paramètre de commande pour une commande de suppression dans une liste
<ItemsControl ItemsSource="{Binding myList}">
<ItemsControl.ItemTemplate>
...
<Button Command="{StaticResource myDeleteCommand}" CommandParameter="???">
Remove item
</Button>
...
</ItemsControl.ItemTemplate>
</ItemsControl>
Que dois-je transmettre en tant que paramètre de commande?
- L'élément lui-même (
Binding .
)? Ensuite, je n'ai pas de référence à la liste dans la commande, donc j'ai besoin de changer mon modèle de sorte que chaque élément de liste contienne une référence arrière à la liste. - La liste? Ensuite, je n'ai pas de référence à l'article.
- Les deux? Ensuite, j'ai besoin d'écrire un MultiConverter qui traduit la liste plus l'objet dans un objet personnalisé. On dirait beaucoup de frais généraux pour une tâche aussi simple.
Des idées? Cela me semble un scénario assez commun, donc je suppose qu'il doit y avoir une solution de bonnes pratiques bien établie ...
Danke! :-) Oui, créer une commande séparée pour chaque instance de la liste est en effet la solution. – Heinzi