繁体   English   中英

Contextmenu - 禁用右键单击以打开它

[英]Contextmenu - disable right click to open it

我有这样的xaml代码:

<Grid x:Name="boardGrid">
    <Grid.ContextMenu>
        <ContextMenu Opacity="0.7" x:Name="menuContext">

        </ContextMenu>
    </Grid.ContextMenu>
</Grid>

我在后面的代码中生成网格项。 我想要的是右键单击禁用上下文菜单打开。 我想在确定条件发生时打开它。

这就是我在.cs文件中的内容:

  • 生成Unit的对象并将它们放入Grid中;

每个对象都有unit.MouseRightButtonUp + = unit_MouseRightButton

void unit_MouseRightButtonUp(object sender, MouseButtonEventArgs e)
{
    if (CurrentGame.CurrentPlayer.HasTurn == false) return; 
    .....
    ContextMenu.IsOpen = true;

}

所以这意味着只有条件得到满足才能打开Contextmenu,但无论如何它都会打开。

您可以将附加属性ContextMenuService.IsEnabled设置为false 然后,您可以手动弹出ContextMenu。

您必须为拥有该菜单的GUI元素设置该属性。 为菜单本身设置它什么都不做。

<Grid x:Name="boardGrid" ContextMenuService.IsEnabled="false">
    <!-- ... -->
</Grid>
void unit_MouseRightButtonUp(object sender, MouseButtonEventArgs e) {
    if (CurrentGame.CurrentPlayer.HasTurn == false) return; 
    .....
    boardGrid.ContextMenu.IsOpen = true;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM