繁体   English   中英

访问菜单项(WPF)

[英]Accessing Menu Item (WPF)

我正在使用以下代码来处理菜单项上的点击:

 private void MenuItem_Click(object sender, RoutedEventArgs e)
 {
     MenuItem mi = (MenuItem)sender;

     switch (mi.Name)
     {
         case "MenuItem1":
         .
         .
         ///How to disable MenuItem2 from here?
         break;

         case "MenuItem2":
         .
         .
         break;
     }
  }

当我可以访问被单击的MenuItem时,如何访问另一个未被单击的MenuItem?

您不应在name属性上使用开关,而应为每个项目创建一个事件处理程序。 同样,如果MenuItem是“静态的”,则应该已经对其进行了引用,因此您应该能够通过MenuItem2.LoremIpsum使用它。 如果不是静态的,则可以在Tag添加对MenuItem1的引用,例如: Tag="{x:Reference MenuItem2}" ,然后可以mi.Tag并从那里使用它。 当然,还有其他获取引用的方法,例如FindName或遍历视觉或逻辑树的其他递归搜索方法。

除了打开名称之外,我怀疑从另一个菜单项访问一个这样的好主意,事情会变得混乱。

使用VisualTreeHelper在树上上移至菜单-从那里可以访问所需的菜单。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM