簡體   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