У меня есть следующее иерархическое меню, использующее привязку команды MVVM для встроенных элементов:
<MenuItem Header="_Remove Images ..." >
<MenuItem Header="_GPS Data XML (.ivg)" Command="{Binding RemoveXmlFilesCommand}" CommandParameter="ivg" />
<MenuItem Header="_Metatags Data XML (.ivm)" Command="{Binding RemoveXmlFilesCommand}" CommandParameter="ivm"/>
<MenuItem Header="Image _Backup Files (.bak)" Command="{Binding RemoveImageBackupCommand}"/>
</MenuItem>
Я хотел бы добиться (если это возможно только в XAML), что главный MenuItem отключен или окрашен в серый цвет, когда все встроенные элементы MenuItem отключены Я попытался создать <Style.Triggers>
, конвертер, связанный с основным MenuItem и анализирующий встроенные элементы MenuItem, а также фиктивную команду с CommandParameter, привязанную к основному экземпляру MenuItem, но безуспешно. Триггеры не могут получить доступ к свойству IsEnabled или Opacity, конвертер вызывается только один раз при создании дерева визуалов, а фиктивная команда блокирует вложенные элементы.
У кого-нибудь есть идеи, как решить эту проблему?