单击新添加菜单项的事件

本文关键字:菜单项 事件 添加 新添加 单击 | 更新日期: 2023-09-27 18:28:50

我有一个菜单项,我在其中添加了另一个项。现在,我想将click事件分配给新添加的项目。我怎么能这么做?下面是我添加菜单项的方法。

MI.Items.Add(System.IO.Path.GetFullPath(ofd.FileName));

单击新添加菜单项的事件

只需创建MenuItem类的新实例并订阅Click事件:

MenuItem newMenuItem = new MenuItem();
newMenuItem.Header = System.IO.Path.GetFullPath(ofd.FileName);
newMenuItem.Click += MenuItemOnClick; // The handler.
MI.Items.Add(newMenuItem);

通过索引获取MenuItem,并使用+=语法附加事件处理程序:

int itemIndex = MI.Items.Add(System.IO.Path.GetFullPath(ofd.FileName));
MenuItem item = MI.Items[itemIndex] as MenuItem;
item.Click += new RoutedEventHandler(Item_Click);

Add返回一个整数,指示所添加项目的索引,然后您可以使用该索引访问集合的元素,从而订阅事件,因此您必须执行以下操作:

var index = MI.Items.Add(System.IO.Path.GetFullPath(ofd.FileName));
((UIElement)MI.Items.GetItemAt(index)).MouseLeftButtonUp += OnMenuItemMouseUp;
void OnMenuItemMouseUp (object sender, MouseButtonEventArgs e) {
}