Данная статья переведена с помощью средств машинного перевода. Чтобы просмотреть ее на английском языке, установите флажок Английский. Вы также можете просматривать английский текст во всплывающем окне, наводя указатель мыши на переведенный текст.
Перевод
Английский

Событие FrameworkElement.ContextMenuOpening

 

Опубликовано: Октябрь 2016

Происходит при открытии какого-либо контекстное меню элемента.

Пространство имен:   System.Windows
Сборка:  PresentationFramework (в PresentationFramework.dll)

public event ContextMenuEventHandler ContextMenuOpening

Для открытия контекстных меню вручную обработчики событий должны помечать соответствующее событие как обработанное. В противном случае — значение существующего ContextMenu свойство будет использоваться для автоматического открытия контекстного меню. Маркировка обрабатываемого события будут фактически отменить действие по умолчанию и может быть возможности сбросить значение ContextMenu Свойства и откройте новый ContextMenu. Тем не менее есть ошибки синхронизации, которые следует обратить внимание. Чтобы полностью заменить контекстное меню через ContextMenuOpening обработчика начального контекстное меню не должно быть null или пустой. Кроме того может потребоваться обработать событие и затем вручную открыть новое контекстное меню. Дополнительные сведения см. в разделе как: событие ContextMenuOpening.

Чтобы использовать это событие как EventTrigger в стиле, необходимо добавить ссылку базовому вложенному событию:

<EventTrigger RoutedEvent="ContextMenuService.ContextMenuOpening">
  <!-- storyboard here ... -->
</EventTrigger>

(Такое использование не требуются, поскольку реализация событий в FrameworkElement предоставляет базового события службы не соответствует ContextMenuOpening идентификатор таким образом, что его можно использовать в триггерах).

ContextMenu сама по себе FrameworkElement производного класса, но это событие не будет вызываться из контекстного меню, открываемого в качестве источника. Событие инициируется элементом, который «владеет» контекстным меню как свойством и только тогда, когда пользователь пытается открыть контекстное меню в пользовательском Интерфейсе. Существует возможность ContextMenu самостоятельно, чтобы иметь ContextMenu свойство, но следует избегать этого сценария (Дополнительные сведения см. в разделе FrameworkElement.ContextMenu).

ContextMenu Сам класс также имеет такое же событие (Opened), но Opened не предоставляет возможность отмены действий пользователя.

Поле идентификатора

ContextMenuOpeningEvent

Стратегия маршрутизации

Вверх

Делегат

ContextMenuEventHandler

  • Переопределение OnContextMenuOpening реализовать обработку класса для этого события в производных классах.

.NET Framework
Доступно с 3.0
Вернуться в начало
Показ: