[英]Disable ContextMenu\right click on a Gridview row for a particular condition
[英]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.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.