这里是我绑定菜单IsChecked
属性的代码。
<MenuItem Header="_View">
<MenuItem IsCheckable="True" IsChecked="{Binding ElementName=TermMenu, Path=IsChecked}" Header="Term" />
<MenuItem IsCheckable="True" IsChecked="True" Header="Key" />
<MenuItem IsCheckable="True" IsChecked="True" Header="Hand" />
<MenuItem IsCheckable="True" IsChecked="True" Header="Rule" />
</MenuItem>
这是上下文菜单
<ContextMenu x:Key="DataGridColumnHeaderContextMenu" >
<MenuItem x:Name="TermMenu" IsCheckable="True" IsChecked="True" Header="Key Term" />
<MenuItem x:Name="Key" IsCheckable="True" IsChecked="True" Header="Key Term Description" />
<MenuItem x:Name="ShortHand" IsCheckable="True" IsChecked="True" Header="Hand" />
<MenuItem x:Name="Rule" IsCheckable="True" IsChecked="True" Header="Rule" />
</ContextMenu>
现在我想要在检查上下文菜单项时,将自动检查主菜单View。但我的代码不起作用。请解释一下原因。
答案 0 :(得分:0)
x:名称在资源中不起作用。 ElementPath中具有指定名称的元素不存在。这就是绑定不起作用的原因。你无法从后面的代码访问TermMenu。您应该将两者绑定到视图模型,如@wilford sugested。