FrameworkElement.ContextMenuOpening Zdarzenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Występuje po otwarciu dowolnego menu kontekstowego 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
Typ zdarzenia
Uwagi
Aby ręcznie otworzyć menu kontekstowe, programy obsługi zdarzeń powinny oznaczyć odpowiednie zdarzenie jako obsługiwane. W przeciwnym razie istniejąca wartość ContextMenu właściwości będzie używana do automatycznego otwierania menu kontekstowego. Oznaczanie obsłużonego zdarzenia skutecznie anuluje akcję domyślną i może być okazją do zresetowania wartości ContextMenu właściwości, a następnie otwarcia nowego ContextMenuelementu . Istnieje jednak problem z chronometrażem, o którym należy pamiętać. Aby całkowicie zastąpić menu kontekstowe ContextMenuOpening za pomocą programu obsługi, początkowe menu kontekstowe nie może mieć wartości null/pustej. Alternatywnie może być konieczne obsłużenie zdarzenia, a następnie ręczne otwarcie nowego menu kontekstowego. Aby uzyskać szczegółowe informacje, zobacz How to: Handle the ContextMenuOpening Event (Instrukcje: obsługa zdarzenia ContextMenuOpening).
Aby użyć tego zdarzenia jako elementu EventTrigger w stylu, należy odwołać się do bazowego dołączonego zdarzenia:
<EventTrigger RoutedEvent="ContextMenuService.ContextMenuOpening">
<!-- storyboard here ... -->
</EventTrigger>
(To użycie jest wymagane, ponieważ implementacja zdarzeń, która FrameworkElement uwidacznia bazowe zdarzenie usługi, nie mapuje identyfikatora ContextMenuOpening , którego można użyć w wyzwalaczach).
ContextMenu sama jest klasą pochodną FrameworkElement , ale to zdarzenie nie zostanie podniesione z menu kontekstowego otwieranego jako źródło. Zdarzenie jest wywoływane z elementu , który jest właścicielem menu kontekstowego jako właściwości i jest wywoływany tylko wtedy, gdy użytkownik próbuje otworzyć menu kontekstowe w interfejsie użytkownika. Istnieje możliwość ContextMenu posiadania ContextMenu właściwości, ale należy unikać tego scenariusza (aby uzyskać szczegółowe informacje, zobacz FrameworkElement.ContextMenu).
Sama ContextMenu klasa ma również podobne zdarzenie (Opened), ale Opened nie zapewnia możliwości anulowania akcji użytkownika.
Informacje dotyczące kierowanego zdarzenia
Pole identyfikatora | ContextMenuOpeningEvent |
Strategia routingu | Propagacji |
Delegat | ContextMenuEventHandler |
- Zastąp OnContextMenuOpening implementację obsługi klas dla tego zdarzenia w klasach pochodnych.