Sdílet prostřednictvím


FrameworkElement.ContextMenuOpening Událost

Definice

Nastane při otevření jakékoli místní nabídky elementu.

public:
 event System::Windows::Controls::ContextMenuEventHandler ^ ContextMenuOpening;
public event System.Windows.Controls.ContextMenuEventHandler ContextMenuOpening;
member this.ContextMenuOpening : System.Windows.Controls.ContextMenuEventHandler 
Public Custom Event ContextMenuOpening As ContextMenuEventHandler 

Event Type

Poznámky

Pokud chcete ručně otevřít místní nabídky, obslužné rutiny událostí by měly příslušnou událost označit jako zpracovávanou. V opačném případě se existující hodnota ContextMenu vlastnosti použije k automatickému otevření místní nabídky. Označení zpracovávané události ve skutečnosti zruší výchozí akci a může to být příležitost resetovat hodnotu ContextMenu vlastnosti a pak otevřít novou ContextMenu. Existuje však problém s načasováním, o kterém byste měli vědět. Aby bylo možné zcela nahradit místní nabídku prostřednictvím obslužné ContextMenuOpening rutiny, počáteční místní nabídka nesmí být null / prázdná. Případně může být potřeba zpracovat událost a pak ručně otevřít novou místní nabídku. Podrobnosti najdete v tématu Postupy: Zpracování události ContextMenuOpening.

Pokud chcete tuto událost použít jako EventTrigger styl, musíte odkazovat na související připojenou událost:

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

(Toto použití je povinné, protože implementace FrameworkElement události, která zveřejňuje podkladovou událost služby, nemapuje ContextMenuOpening identifikátor tak, abyste ho mohli použít v triggerech).)

ContextMenu sám je odvozenou FrameworkElement třídou, ale tato událost nebude vyvolána z místní nabídky, která se otevírá jako zdroj. Událost je vyvolána z elementu, který "vlastní" místní nabídku jako vlastnost a je vyvolána pouze v případě, že se uživatel pokusí otevřít místní nabídku v uživatelském rozhraní. Je možné ContextMenu , že má ContextMenu vlastnost, ale tomuto scénáři byste se měli vyhnout (podrobnosti najdete v tématu FrameworkElement.ContextMenu).

Samotná ContextMenu třída má také podobnou událost (Opened), ale Opened neposkytuje možnost zrušit akci uživatele.

Informace o směrované události

Pole Identifikátor ContextMenuOpeningEvent
Strategie směrování Bublající
Delegát ContextMenuEventHandler
  • Přepsání OnContextMenuOpening pro implementaci zpracování tříd pro tuto událost v odvozených třídách.

Platí pro

Viz také