[英]How to disable ContextMenu on child elements?
我想在網格中的子控件上禁用 ContextMenu,但是當用戶單擊元素之間的邊距區域中的網格時,必須看起來是 ContextMenu。
我有這個代碼:
<Grid Background="Transparent">
<Grid.ContextMenu>
<ContextMenu>
<MenuItem Header="Item1"/>
<MenuItem Header="Item2"/>
</ContextMenu>
</Grid.ContextMenu>
<!-- Just example. In future will some collections -->
<StackPanel>
<Button Content="123" ContextMenuService.IsEnabled="False"/>
</StackPanel>
</Grid>
用戶控件.xaml
<UserControl.Resources>
<ContextMenu x:Key="AmazingMenu">
<MenuItem Header="Item1"/>
<MenuItem Header="Item2"/>
</ContextMenu>
</UserControl.Resources>
<Grid x:Name="MegaGrid" Background="Transparent" MouseRightButtonDown="Grid_MouseRightButtonDown">
<!-- Some controls -->
</Grid>
用戶控件.xaml.cs
private void Grid_MouseRightButtonDown(object sender, MouseButtonEventArgs e)
{
var control = e.OriginalSource as Grid;
if (control.Name.Equals("MegaGrid"))
{
MegaGrid.ContextMenu = FindResource("AmazingMenu") as ContextMenu;
}
else
{
MegaGrid.ContextMenu = null;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.