gpt4 book ai didi

c# - 上下文菜单 - 禁用右键单击打开它

转载 作者:行者123 更新时间:2023-11-30 13:37:01 25 4
gpt4 key购买 nike

我有这样的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;

}

所以这意味着上下文菜单只有在条件满足时才应该打开,但它无论如何都会打开。

最佳答案

您可以将附加属性 ContextMenuService.IsEnabled 设置为 false。然后你可以手动弹出上下文菜单。

您必须为拥有该菜单的 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;
}

关于c# - 上下文菜单 - 禁用右键单击打开它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26961950/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com