【发布时间】:2012-03-25 15:50:48
【问题描述】:
我有一个包含子菜单项的菜单项。当单击其中一个菜单项时,将触发一个事件并根据单击的菜单项的索引执行某些操作。我见过这样的应用程序,但在那些情况下,菜单项的名称是标准而不是索引。我想要这样的东西:
private void MI_Click (object sender, RoutedEventArgs e)
{
MenuItem mnu = (MenuItem)e.OriginalSource;
switch (mnu.Items.Index) // I know there is no such thing
{
case 0: {// do something}
case 1: {// do something}
// and so on
}
}
【问题讨论】:
-
为什么需要这个?您可以为每个项目创建单独的
Click事件处理程序,或者如果使用MVVM,每个项目都可以有自己的Command绑定。 -
因为我经常添加和删除菜单项。