System.Windows ContextMenu ItemClick事件?

时间:2011-04-13 15:46:13

标签: c# .net wpf

我正在创建一个WPF应用程序,但在我的代码中我需要创建一个ContextMenu,它看起来很简单:

_menu = new ContextMenu();
_menu.Items.Add("My menu item");

然后我用它,一切都像魅力一样。

但是,我需要知道何时单击“我的菜单项”,但我似乎无法找到正确的事件,我正在搜索类似ItemClick事件的内容,但是找不到它...... < / p>

3 个答案:

答案 0 :(得分:6)

尝试添加可点击的项目,而不仅仅是字符串。例如:

_menu = new ContextMenu();
MenuItem item = new MenuItem();
item.Click += MyClickHandler;
item.Header = "My Menu Item";
_menu.Items.Add(item);

答案 1 :(得分:3)

我从未在代码中使用过,总是使用XAML。 但是,它是这样的:

 _menu = new ContextMenu();
 MenuItem mi = new MenuItem();
 mi.Items.Add("My menu item");
 mi.Click += (sender,args) =>
 {
         // Do what you want, or instead of a lambda  
         // you can even add a separate method to the class
 };
 _menu.Items.Add(mi);

唯一的疑问是将文本添加到菜单项。您必须在示例中尝试,或者可以将TextBlock添加到MenuItem.Items集合

答案 2 :(得分:1)

我想你想要这样的东西:

    _menu = new ContextMenu();
    MenuItem item = new MenuItem();
    item.Header = "My menu item";
    item.Click += new RoutedEventHandler(item_Click);
    _menu.Items.Add(item);
相关问题