J'ai passé une bonne partie de ma journée à faire des recherches sur cette propriété; Je suis curieux de savoir s'il est possible de faire une liaison simple dans XAML, sans avoir besoin d'implémenter INotifyPropertyChanged dans le code derrière. Ironiquement, dans le temps que j'ai passé à faire des recherches, je l'aurais fait dans le code 5 fois plus.Liaison de la propriété MenuItem (IsEnabled) à la propriété combobox (SelectedIndex) dans le même contrôle
Je suis tombé sur quelques articles qui suggèrent d'utiliser DataTriggers (pour les éléments de menu, le DataTrigger doit être dans le style a Trigger). J'ai essayé ceci, mais cela ne fonctionne pas sans erreur.
Je soupçonne que le DataTrigger n'a pas pu trouver la liste déroulante en raison de problèmes de portée MenuItem, que j'ai lus dans un thread différent.
Quelqu'un a des suggestions?
Code: (pas de construction ou erreurs d'exécution, mais la propriété non mis à jour)
<ContextMenu>
<MenuItem Header="Do Something Neat" x:Name="MyMenuItem" Click="MyMenuItem_Click">
<MenuItem.Style>
<Style TargetType="{x:Type MenuItem}">
<Style.Triggers>
<Setter Property="IsEnabled" Value="True" />
<DataTrigger Binding="{Binding ElementName=MyComboBox, Path=SelectedIndex}" Value="-1">
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
</MenuItem.Style>
</MenuItem>
</ContextMenu>