我在WPF中有一个图表,当我右键单击图表时,它会转到函数Chart_mouseRightButtonDown,如下所述。我想添加一个上下文菜单。我已经在上下文菜单中添加了两个选项。但现在我想要一些动作,当用户点击这些选项。如何给它添加处理程序?
private void Chart_MouseRightButtonDown(object sender, MouseButtonEventArgs e)
{
var originalSource = e.OriginalSource as DependencyObject;
if (originalSource is Ellipse)
{
ContextMenu contextMenu = new ContextMenu();
contextMenu.Items.Add("Lookup Details in Grid");
contextMenu.Items.Add("Lookup Defect Info");
runTrendChart.ContextMenu = contextMenu;
}
else
runTrendChart.ContextMenu = null;
}
与其在ContextMenu
Items
collection中添加字符串,不如添加一个新的MenuItem元素:
contextMenu.Items.Add(MenuItem()
{
Header = "Lookup Details in Grid",
Command = ANY_COMMAND_YOU_WANT
});
我不明白为什么你在MouseRightButtonDown
处理程序中添加这个菜单项而不是XAML,但这应该能解决你的问题。
编辑如果您不想使用Command
, MenuItem
有一个Click
事件,您可以添加一个事件处理程序。