[英]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.