我正在做一个WPF应用程序,但在我的代码,我需要做一个文本菜单,它似乎很容易:System.Windows ContextMenu ItemClick事件?
_menu = new ContextMenu();
_menu.Items.Add("My menu item");
然后我用它,一切工作就像一个魅力。然而,我需要知道何时“我的菜单项”被点击,但我似乎无法找到正确的事件,我正在寻找类似于ItemClick事件的东西,但却找不到它......
我正在做一个WPF应用程序,但在我的代码,我需要做一个文本菜单,它似乎很容易:System.Windows ContextMenu ItemClick事件?
_menu = new ContextMenu();
_menu.Items.Add("My menu item");
然后我用它,一切工作就像一个魅力。然而,我需要知道何时“我的菜单项”被点击,但我似乎无法找到正确的事件,我正在寻找类似于ItemClick事件的东西,但却找不到它......
尝试添加可点击的项目而不仅仅是一个字符串。例如:
_menu = new ContextMenu();
MenuItem item = new MenuItem();
item.Click += MyClickHandler;
item.Header = "My Menu Item";
_menu.Items.Add(item);
我从来没有在代码中做过,总是使用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);
唯一的疑问是添加文本菜单项。您必须按照示例进行尝试,或者向TextItem集合添加一个TextBlock。
我想你想是这样的:
_menu = new ContextMenu();
MenuItem item = new MenuItem();
item.Header = "My menu item";
item.Click += new RoutedEventHandler(item_Click);
_menu.Items.Add(item);
+1。至于他可以简单地使用文本属性 – 2011-04-13 16:01:39
的菜单项不具有Text属性的文本。我在Steve Danner看到答案是Header属性。也为他+1。 – Haplo 2011-04-13 16:03:20