C# WPF/XAML样式TargetType=";MenuItem“;不起作用
我想在contextmenu中显示/隐藏menuitem标题旁边的小复选标记: 我如何通过C# WPF/XAML样式TargetType=";MenuItem“;不起作用,c#,wpf,xaml,C#,Wpf,Xaml,我想在contextmenu中显示/隐藏menuitem标题旁边的小复选标记: 我如何通过管理它。不知何故,它不起作用,我不知道为什么。- 这是我的密码: <Window.Resources> <Style TargetType="MenuItem"> <Style.Triggers> <DataTrigger Binding="{Binding Duplicate}" Value="True">
管理它。不知何故,它不起作用,我不知道为什么。-
这是我的密码:
<Window.Resources>
<Style TargetType="MenuItem">
<Style.Triggers>
<DataTrigger Binding="{Binding Duplicate}" Value="True">
<Setter Property="IsChecked" Value="True"/>
</DataTrigger>
<DataTrigger Binding="{Binding Done}" Value="True">
<Setter Property="IsChecked" Value="True"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Window.Resources>
<!--....-->
<DataGrid Name="MainDataGrid" IsReadOnly="True" SelectionMode="Single">
<DataGrid.Columns>
<DataGridTextColumn Header="Date" Binding="{Binding Date"></DataGridTextColumn>
<!-- .... -->
</DataGrid.Columns>
<DataGrid.ContextMenu>
<ContextMenu>
<MenuItem Header="Done" .../>
<MenuItem Header="Duplicate" .../>
</ContextMenu>
</DataGrid.ContextMenu>
</DataGrid>
我做错了什么?我相信您缺少了IsCheckable=“True”:
您确定ContextMenu的数据上下文设置正确吗?它应该自动从DataGrid继承,但是DataContext对象应该具有Duplicate
和Done
属性。我不太确定,但我也认为它会自动继承。在调试器中运行应用程序并打开DataGrid上的上下文菜单时,您是否在Visual Studo输出窗口中看到任何绑定错误消息?@Clemens它不会中断我不是指断点,只是输出窗口中的警告消息。然后,尝试以下操作:删除您的块,并直接添加到您的样式中。您的菜单现在检查了吗?