Luk*_*kas 3 c# wpf xaml contextmenu
我有这样的xaml代码:
<Grid x:Name="boardGrid">
<Grid.ContextMenu>
<ContextMenu Opacity="0.7" x:Name="menuContext">
</ContextMenu>
</Grid.ContextMenu>
</Grid>
Run Code Online (Sandbox Code Playgroud)
我在后面的代码中生成网格项.我想要的是右键单击禁用上下文菜单打开.我想在确定条件发生时打开它.
这就是我在.cs文件中的内容:
每个对象都有unit.MouseRightButtonUp + = unit_MouseRightButton
void unit_MouseRightButtonUp(object sender, MouseButtonEventArgs e)
{
if (CurrentGame.CurrentPlayer.HasTurn == false) return;
.....
ContextMenu.IsOpen = true;
}
Run Code Online (Sandbox Code Playgroud)
所以这意味着只有条件得到满足才能打开Contextmenu,但无论如何它都会打开.
Kin*_*ing 10
您可以将附加属性设置ContextMenuService.IsEnabled
为false
.然后,您可以手动弹出ContextMenu.
您必须为拥有该菜单的GUI元素设置该属性.为菜单本身设置它什么都不做.
<Grid x:Name="boardGrid" ContextMenuService.IsEnabled="false">
<!-- ... -->
</Grid>
Run Code Online (Sandbox Code Playgroud)
void unit_MouseRightButtonUp(object sender, MouseButtonEventArgs e) {
if (CurrentGame.CurrentPlayer.HasTurn == false) return;
.....
boardGrid.ContextMenu.IsOpen = true;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4586 次 |
最近记录: |