如何在c#的图表上下文菜单中添加事件

时间:2013-05-23 08:21:31

标签: c# wpf charts event-handling contextmenu

我在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;
    } 

1 个答案:

答案 0 :(得分:0)

您应该添加一个新的MenuItem元素,而不是仅向ContextMenu Items集合添加字符串:

contextMenu.Items.Add(MenuItem() 
{
Header = "Lookup Details in Grid",
Command = ANY_COMMAND_YOU_WANT
});

我没有看到您在MouseRightButtonDown处理程序而不是XAML中添加此MenuItem的原因,但这可以解决您的问题。

编辑如果您不想使用Command MenuItem有一个Click事件,您可以添加事件处理程序。