J'essaie de lier le menu contextuel (avec case à cocher) de tabulation à la collection observable. Lorsque l'utilisateur vérifie ou supprime le menuitem pour la première fois, cet état est reflété dans variable bool associée dans la collection obesarvable. Mais après ça, ça ne s'est pas reflété. Reliure en XAML ressemble à ceci:WPF Menu contextuel Liaison de données
<TabItem.ContextMenu>
<ContextMenu Name="menu"
ItemsSource="{Binding Path=FieldNameCollection,Mode=TwoWay}"
ItemTemplate="{StaticResource SelectIndexFieldMenu}"></ContextMenu>
</TabItem.ContextMenu>
Modèle de données est
<DataTemplate x:Key="SelectIndexFieldMenu">
<MenuItem Header="{Binding Path=IndexFieldName}"
IsCheckable="True"
IsChecked="{Binding Path=isIndexFieldSelected,Mode=TwoWay}"
IsEnabled="{Binding Path=isCheckBoxEnabled}" />
</DataTemplate>
(je ne suis pas en mesure d'ajouter l'extrait de code, alors j'ai enlevé '<' :() La classe de collection observable Une autre chose que j'ai remarquée est que si je vérifie la source d'éléments du menu contextuel dans view.xaml.cs à ContextMenuClosing, les états sont correctement reflétés
Implémentez-vous l'interface 'INotifyPropertyChanged' dans votre classe? – decyclone
Oui, j'ai implémenté INotifyProperyChanged. Thx pour ajouter du code correctement (comment avez-vous fait cela?) – Rik
s'il vous plaît coller le code pertinent du présentateur aussi, et si possible, coller aussi une plus grande partie de votre xaml. Je suis ce que DataContext TabControl.so collez le xaml TabControl. – Nawaz