我想显示/隐藏旁边一个ContextMenu的菜单项的报头中的小对勾: WPF/XAML样式的TargetType =“菜单项”不工作
我如何管理它通过<Style TargetType="MenuItem">
。不知何故,它不工作,我不知道为什么.-。
这里是我的代码:
<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>
我在做什么错?
你确定文本菜单的DataContext的设置正确?它应该自动从DataGrid继承,但DataContext对象应具有'Duplicate'和'Done'属性。 – Clemens 2015-02-11 15:09:30
我对此不太确定,但我也尽管它会自动继承。 – 2015-02-11 15:12:39
在调试器中运行应用程序时,您是否在Visual Studo Output窗口中看到任何绑定错误消息,并且您在DataGrid上打开了上下文菜单? – Clemens 2015-02-11 16:30:10