在这个简单的示例中,我想在显示上下文菜单之前显示一个 MessageBox
。
我在“XAML”上编写这段代码:
<Border>
<Border.ContextMenu>
<ContextMenu ContextMenuOpening="ContextMenu_ContextMenuOpening">
<MenuItem Header="Select pic" IsEnabled="{Binding Path=ProductSelected}" />
<MenuItem Header="Paste pict" Name="miPaste" Click="miPaste_Click"/>
</ContextMenu>
</Border.ContextMenu>
<Image Stretch="Fill" Source="{Binding Path=Product.Picture}" />
</Border>
然后我在“CS”中写下:
private void ContextMenu_ContextMenuOpening(object sender, ContextMenuEventArgs e)
{
MessageBox.Show("OPPENING");
}
我不知道为什么,当我按下鼠标右键时,会出现上下文菜单,但从未显示 MessageBox。
最佳答案
我相信 ContextMenuOpening 事件应该为打开上下文菜单的控件定义,而不是上下文菜单本身。查看以下代码是否适合您:
<Border ContextMenuOpening="ContextMenu_ContextMenuOpening">
<Border.ContextMenu>
<ContextMenu >
<MenuItem Header="Select pic" />
<MenuItem Header="Paste pict" Name="miPaste" />
</ContextMenu>
</Border.ContextMenu>
</Border>
希望这对你有帮助,问候
关于c# - 打开上下文菜单之前的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5333364/