Мне нужен корень MenuItem
Collapsed
на основе состояния. Я могу получить подменю MenuItem корневого меню с Collapsed, но не root.Root MenuItem Связывание видимости
Предпосылки: На основании настроек мне необходимо, чтобы MenuItems
был Visible
или Collapsed
. Такие работы. Для sub MenuItem
он отлично работает;
<Menu>
<MenuItem Header="Root Menu Item" >
<MenuItem.Style>
<Style TargetType="{x:Type MenuItem}" >
<Setter Property="Visibility" Value="Visible" />
<Style.Triggers>
<DataTrigger Binding="{Binding Source={StaticResource MyResource}, Path=MySetting, UpdateSourceTrigger=PropertyChanged}" Value="False">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</MenuItem.Style>
<MenuItem Header="Sub Menu Item">
<MenuItem.Style>
<Style TargetType="{x:Type MenuItem}" >
<Setter Property="Visibility" Value="Collapsed" />
<Style.Triggers>
<DataTrigger Binding="{Binding Source={StaticResource MyResource}, Path=MySetting, UpdateSourceTrigger=PropertyChanged}" Value="False">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</MenuItem.Style>
</MenuItem>
</MenuItem>
</Menu>
Изменение значения для MySetting между истинным и ложным делает «Sub Menu Item» исчезают или появляются, но не оказывает никакого влияния на корневые пункта меню. Я заблуждаюсь, почему.
Почему вы не просто использовать BoolenToVisbilityConverter? '' Являются ли ваши свойства статическими? –
Это исправлено. Если вы опубликуете это как ответ, я буду отмечать это как правильный ответ – Xaphann