Scénario : Un ListView est lié par ses données à un ObservableCollection<CustomClass>
et affiche ses éléments par le biais d'un ItemTemplate personnalisé. Le site CustomClass
contient trois propriétés de type chaîne de caractères et une propriété de type booléen. INotifyPropertyChanged est déjà implémenté sur chacune de ses quatre propriétés. L'ItemTemplate personnalisé de la ListView a des liaisons à sens unique sur les trois propriétés de type chaîne et une liaison à sens unique sur la propriété booléenne, l'affichant comme une case à cocher.
Problème : Je cherche la manière la plus élégante (en termes de WPF) d'afficher le nombre de tous les éléments cochés dans ce ListView à l'aide d'un TextBlock - ou, en d'autres termes, tous les éléments dont la propriété booléenne est définie comme suit true
dans cette collection. Je veux que ce bloc de texte mette immédiatement à jour le nombre affiché si l'un des éléments du ListView est coché/décoché. Je sais qu'il y a des façons (plutôt) laides d'y parvenir avec du code derrière et de l'eventhandling, mais j'aimerais savoir s'il y a une façon intelligente de faire cela peut-être complètement en XAML avec une syntaxe DataBinding obscure.
Edit : Juste à titre d'exemple/de clarification : Le ListView affiche 100 éléments, 90 éléments ont leur propriété booléenne définie sur true
Le bloc de texte affichera donc '90'. Si l'utilisateur décoche un élément de plus dans la case à cocher et que, par conséquent, la propriété de cette dernière est définie comme suit false
par l'intermédiaire de la liaison bidirectionnelle, le bloc de texte devrait être mis à jour en '89'.