gpt4 book ai didi

.net - WPF根据对象属性在ContextMenu上隐藏MenuItem

转载 作者:行者123 更新时间:2023-12-04 19:24:16 24 4
gpt4 key购买 nike

我需要以编程方式显示/隐藏菜单项,最好的方法是什么?

最佳答案

好吧,要添加 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);

(但你可能已经得到了这个)。

您将需要某种方式将菜单项绑定(bind)到属性 - 但如果没有看到您的应用程序,我无法真正建议最佳方式。有存储对象的 Tag 属性;存储字符串的 Uid 属性; Name 属性也存储一个字符串。

尽管:
menuItem.Visibility = Visibility.Visible;


menuItem.Visibility = Visibility.Collapsed;

应该切换项目的可见性。

编辑:使用 Collapsed 将隐藏菜单项,而不是在菜单中保留空间 - 您真的不希望上下文菜单中有空格。 (为此感谢Botz3000)

然后在更改属性值的代码中,您将使用我上面描述的链接找到您希望显示/隐藏的菜单项。拥有该项目后,您可以切换它的值:
menuItem.Visibility = menuItem.Visibility == Visibility.Visible ? Visibility.Collapsed : Visibility.Visible;

关于.net - WPF根据对象属性在ContextMenu上隐藏MenuItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/842192/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com