Je travaille avec MVVM et WPF.WPF ListView Couleur de fond de la rangée
VM contient -
- une collection Observable de tâches (où la tâche est une classe qui a des propriétés publiques TaskId, TaskTime et TaskDetails)
- currentTaskId
Je peux définir la couleur d'arrière-plan chaque ligne en utilisant l'une des méthodes ci-dessous
- en utilisant ListView ItemContainerSty le déclencheur ou
- utilisant ListView ItemContainerStyleSelector
Maintenant, je veux définir la couleur d'arrière-plan de toutes les lignes à LightBlue et la condition étant Task.TaskId == VM.CurrentTaskId. Comment puis-je réaliser cela?
J'échoué à mettre en œuvre à l'aide de la gâchette de données sur le style, car
<DataTrigger Binding="{Binding TaskId}" Value="1001">
est valide, mais en utilisant Binding pour la valeur est non valide, quelque chose sur les lignes de
<DataTrigger Binding="{Binding TaskId}" Value="{Binding CurrentTaskId}">
Je suis en mesure implémenter la couleur de ligne alternative et une couleur spécifique pour certaines lignes en utilisant le StyleSelector, mais encore une fois comment trouver l'CurrentTaskId?
De même comment pourrais-je implémenter la fonctionnalité pour changer la couleur de fond chaque fois que le CurrentTaskId change?
Oui, c'est exactement comme je l'ai résolu. Voir ma réponse ci-dessus. Merci pour le lien +1 – byte