我想使用trigger
来自动隐藏MenuItem
被禁用。如果我用我的风格特定MenuItem
里面这样它的工作原理 -MenuItem触发器不起作用
<MenuItem
Command="{Binding RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type ContextMenu}},
Path=PlacementTarget.DataContext.ExportCommand}"
Header="Export...">
<MenuItem.Style>
<Style TargetType="{x:Type MenuItem}">
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Visibility" Value="Collapsed" />
</Trigger>
</Style.Triggers>
</Style>
</MenuItem.Style>
</MenuItem>
,但如果我把同样的style
在ResourceDictionary
这个样子,那么它不工作 -
<Style x:Key="{x:Type MenuItem}" TargetType="{x:Type MenuItem}" >
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Visibility" Value="Collapsed" />
</Trigger>
</Style.Triggers>
</Style>
我想对我所有的菜单项都有这种行为,我不想在我的ContextMenu
中的每个MenuItem
上放置这种样式。任何想法为什么它不工作?
如果将Style放入ContextMenu.Resources中,它是否适用于MenuItems内部? – LPL 2012-04-20 16:47:50