WPF скрывают MenuItem на ContextMenu на основе свойства объекта

$config['file_name'] = $new_name;

Просто добавьте его в соответствие с кодами конфигурации.

5
задан Dave Clemmer 29 July 2011 в 18:33
поделиться

1 ответ

Что ж, чтобы добавить MenuItem, вам понадобится что-нибудь из этих lines:

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);

(но вы, вероятно, уже получили это).

Вам понадобится какой-то способ привязать пункт меню к свойству, но, не видя вашего приложения, я не могу предложить лучший способ. Есть свойство Tag, в котором хранится объект; свойство Uid, в котором хранится строка; свойство Name, которое также хранит строку.

While:

menuItem.Visibility = Visibility.Visible;

и

menuItem.Visibility = Visibility.Collapsed;

должны переключать видимость элемента.

EDIT: Использование «Свернуто» скроет пункт меню и не зарезервирует место в меню - вам действительно не нужны пустые места в контекстном меню. (спасибо Botz3000 за это)

Затем в вашем коде, где значение свойства изменено, вы найдете пункт меню, который вы хотите показать / скрыть, используя связь, которую я описал выше. Получив элемент, вы можете изменить его значение:

menuItem.Visibility = menuItem.Visibility == Visibility.Visible ? Visibility.Collapsed : Visibility.Visible;
5
ответ дан 14 December 2019 в 19:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: