[英]Add Event Handler to MenuItem added dynamically
我有一个MenuItem
。 我必须将子MenuItem
添加到此MenuItem
。 但是子MenuItem
的数量是通过函数返回的。 因此,我添加了在构造函数中调用的以下函数:
void AddMenuItems()
{
for (int i = 1; i <= ItemCount(); i++)
{
mnuItem.Items.Add(new MenuItem() { Name = "MenuItem" + i, Header = "Menu Item " + i });
}
}
int ItemCount()
{
return 3;
}
我现在对ItemCount()
返回值进行了硬编码。 我现在想要的是如何向这些菜单项添加click事件。
我这样做正确吗? 欢迎提出任何改进此方法的建议。
您可以执行以下操作,也可以更改菜单项的创建
for (int i = 1; i <= ItemCount(); i++)
{
var menuItem = new MenuItem() { Name = "MenuItem" + i, Header = "Menu Item " + i };
menuItem.Click += item_Click;
mnuItem.Items.Add(menuItem);
}
然后点击处理程序将被定义为
void item_Click(object sender, RoutedEventArgs e)
{
//Do stuff
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.