を使用して、無効にされた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>
をしかし、私はこのようなResourceDictionary
で同じstyle
を配置する場合、それは動作しません -
<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
に入れたくありません。それがうまくいかない理由は何ですか?
スタイルをContextMenu.Resourcesに配置すると、MenuItemsの内部で機能しますか? – LPL