如何解决防止父项的ContextMenu继承子项
|| 根据此代码:<StackPanel>
<StackPanel.ContextMenu>
<ContextMenu>
<MenuItem Header=\"menuitem1\"/>
<MenuItem Header=\"menuitem2\"/>
</ContextMenu>
</StackPanel.ContextMenu>
<Button Width=\"100\" Height=\"100\"/>
<Button Width=\"100\" Height=\"100\"/>
</StackPanel>
如果右键单击“按钮”,则将显示ContextMenu,子级将继承其父级的ContextMenu。
我的问题是如何防止此功能?
编辑:如果可能,我需要使用xaml的方法。
解决方法
我找到了这个解决方案
<StackPanel>
<StackPanel.ContextMenu>
<ContextMenu>
<MenuItem Header=\"menuitem1\"/>
<MenuItem Header=\"menuitem2\"/>
</ContextMenu>
</StackPanel.ContextMenu>
<Button Width=\"100\" Height=\"100\">
<Button.ContextMenu>
<ContextMenu Visibility=\"Hidden\"/>
</Button.ContextMenu>
</Button>
<Button Width=\"100\" Height=\"100\"/>
</StackPanel>
, 在有问题的按钮上,您需要停止右键单击鼠标事件,直到扩展到包含的“ 2”。您可以这样处理MouseDown
来做到这一点:
void button_MouseDown(object sender,MouseButtonEventArgs e)
{
if (e.RightButton == MouseButtonState.Pressed)
{
e.Handled = true;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。