0

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

1 回答 1

0

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

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

我看不出您在MouseRightButtonDown处理程序而不是 XAML 中添加此 MenuItems 的原因,但这应该可以解决您的问题。

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

于 2013-05-23T08:47:32.820 回答