2013-05-23 3 views
0

У меня есть диаграмма в WPF, и когда я нажимаю правой кнопкой мыши на диаграмме, она переходит к функции Chart_mouseRightButtonDown, которая описана ниже. Я хочу добавить контекстное меню. уже добавлено два параметра в контекстное меню. Но теперь я хочу, чтобы некоторые действия, когда пользователь нажимал на опции шланга. Как добавить к нему обработчик?Как добавить событие в контекстное меню для диаграммы в C#

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

ответ

0

Вместо того чтобы добавлять только строки в ContextMenuItems коллекции вы должны добавить новый элемент MenuItem:

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

Я не вижу причин, почему вы добавляете этот MenuItems в MouseRightButtonDown обработчика вместо XAML , но это должно решить вашу проблему.

Редактировать Если вы не хотите использовать CommandMenuItem имеет Click событие, к которому вы можете добавить обработчик событий.

Смежные вопросы