2009-12-04 15 views
1

J'ai ListView avec liaison sur ObservableCollection qui a implémenté INotifyPropertyChanged. Lorsque l'utilisateur ouvre la fenêtre, les données seront affichées mais je veux changer backgorund sur les cellules où les données ont été changées en attendant ...Comment changer l'arrière-plan de la cellule dans ListView lorsque les données changent?

J'ai essayé avec des déclencheurs de données, mais ils peuvent être déclenchés juste sur certaines valeurs. Je veux déclencher quand la valeur change, quelle que soit la valeur.

Merci

Répondre

1

Vous pouvez utiliser DataTrigger pour cela. Mais vous devez ajouter la propriété IsDirty correspondante à la classe ViewModel et sur le setter de votre propriété, vous pouvez vérifier si Data a été modifié et déclencher IsDirty. Qui inturn feu DataTrigger et ainsi l'arrière-plan. Par exemple, si vous avez une propriété FirstName, vous pourriez avoir besoin de IsFirstNameDirty: booléen Il n'y a pas d'autre moyen facile pour le WPF de vérifier que votre valeur a changé par rapport à la valeur initiale.