[英]How to Bind IsChecked Property of Menu item
Here My code to bind IsChecked
property of menu. 在这里,我的代码绑定菜单的
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>
Here is the context menu 这是上下文菜单
<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>
Now I want when the context menu item is check the main menu View will be checked automatically. 现在,我要检查上下文菜单项时,将自动检查主菜单“视图”。 But my code is not working.
但是我的代码无法正常工作。 Please explain me why.
请解释一下为什么。
x:Name does not work in resources. x:名称在资源中不起作用。 the element with the specified name in ElementPath does not exist.
在ElementPath中具有指定名称的元素不存在。 this is why the binding doesn't work.
这就是为什么绑定不起作用的原因。 you can't access TermMenu from the code behind either.
您都无法通过任一代码访问TermMenu。 You should bind both to a view-model as @wilford sugested.
您应该将两个都绑定到@wilford提示的视图模型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.