Sar*_*pps 5 .net wpf contextmenu menuitem
我需要以编程方式显示/隐藏MenuItem,这是最好的方法吗?
好吧,要添加一个MenuItem,你需要这些内容:
var menuItem = new MenuItem() { Header = "Menu Name", Name = "Identifier", IsCheckable = true, IsChecked = visible };
menuItem.Click += new RoutedEventHandler(contextMenu_onClick);
int position = contextMenu.Items.Add(menuItem);
Run Code Online (Sandbox Code Playgroud)
(但你可能已经有了这个).
你需要一些方法将菜单项绑定到属性 - 但是没有看到你的应用程序我真的不能建议最好的方法.有一个Tag属性存储一个对象; 存储字符串的Uid属性; Name属性,它还存储一个字符串.
而:
menuItem.Visibility = Visibility.Visible;
Run Code Online (Sandbox Code Playgroud)
和
menuItem.Visibility = Visibility.Collapsed;
Run Code Online (Sandbox Code Playgroud)
应该切换项目的可见性.
编辑:使用Collapsed将隐藏菜单项而不是在菜单中保留空间 - 您不需要在上下文菜单中使用空格.(感谢Botz3000)
然后在您的代码中,属性值被更改,您将使用我上面描述的链接找到您希望显示/隐藏的菜单项.获得该项目后,您可以切换它的值:
menuItem.Visibility = menuItem.Visibility == Visibility.Visible ? Visibility.Collapsed : Visibility.Visible;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10897 次 |
| 最近记录: |