48 votes

Comment mettre à jour un seul élément dans une classe ObservableCollection ?

Comment mettre à jour un seul élément dans une classe ObservableCollection ?

Je sais comment faire un Add. Et je sais comment rechercher un élément à la fois dans ObservableCollection dans une boucle "for" (en utilisant Count comme représentation du nombre d'éléments), mais comment puis-je modifier un élément existant. Si je fais un "foreach" et trouve quel élément doit être mis à jour, comment le remettre dans ObservableCollection>

49voto

Kirill Polishchuk Points 28058

Vous n'avez pas besoin de supprimer un élément, de le modifier, puis de l'ajouter. Vous pouvez simplement utiliser la FirstOrDefault pour trouver l'élément nécessaire à l'aide du prédicat approprié et modifier ses propriétés, par exemple :

 var item = list.FirstOrDefault(i => i.Name == "John");
if (item != null)
{
    item.LastName = "Smith";
}

La suppression ou l'ajout d'un élément à ObservableCollection générera un événement CollectionChanged

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X