FrameworkElement.ContextMenuOpening Událost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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.