微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

防止父项的ContextMenu继承子项

如何解决防止父项的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 举报,一经查实,本站将立刻删除。