UIElement.OnPreviewMouseUp(MouseButtonEventArgs) Metoda

Definicja

Wywoływane, gdy nieobsługiwane PreviewMouseUp dołączone zdarzenie dociera do elementu w swojej trasie pochodzącej z tej klasy. Zaimplementuj tę metodę, aby dodać obsługę klas dla tego zdarzenia.

protected:
 virtual void OnPreviewMouseUp(System::Windows::Input::MouseButtonEventArgs ^ e);
protected virtual void OnPreviewMouseUp (System.Windows.Input.MouseButtonEventArgs e);
abstract member OnPreviewMouseUp : System.Windows.Input.MouseButtonEventArgs -> unit
override this.OnPreviewMouseUp : System.Windows.Input.MouseButtonEventArgs -> unit
Protected Overridable Sub OnPreviewMouseUp (e As MouseButtonEventArgs)

Parametry

e
MouseButtonEventArgs

Element MouseButtonEventArgs zawierający dane zdarzenia. Dane zdarzenia zgłaszają, że co najmniej jeden przycisk myszy został zwolniony.

Uwagi

Akcje przycisku myszy są również obsługiwane przez dedykowanego menedżera danych wejściowych. Inne funkcje programowania, które polegają na akcjach przycisków myszy, takich jak powiązania danych wejściowych i poleceń, mogą wywoływać programy obsługi dla akcji, zanim zostaną uwidocznione jako ogólna akcja przycisku myszy. Jeśli te funkcje systemu wejściowego oznaczą Mouse.PreviewMouseUp zdarzenie jako obsługiwane, OnPreviewMouseUp nie jest wywoływane.

Jeśli używasz tej procedury obsługi klas do oznaczania zdarzenia jako obsługiwanego, potencjalnie wpływa to na następujące zdarzenia: PreviewMouseLeftButtonUp i PreviewMouseRightButtonUp. Jeden z tych zdarzeń może zostać zgłoszony w elemecie odbierający po Mouse.PreviewMouseUp odebraniu.

Jeśli oznaczysz to zdarzenie jako obsługiwane w obsłudze klas, zdarzenia podrzędne będą nadal zgłaszane; jednak przekazują one stan obsłużony w danych zdarzenia. Jeśli zdarzenie jest obsługiwane w obsłudze klas, programy obsługi wystąpień dla zdarzeń podrzędnych nie są wywoływane, chyba że jawnie używasz polecenia AddHandler(RoutedEvent, Delegate, Boolean) w handledEventsTootrue celu dołączenia procedur obsługi. Programy obsługi klas nie są również wywoływane, chyba że te programy obsługi klas zostały zarejestrowane przy użyciu RegisterClassHandler(Type, RoutedEvent, Delegate, Boolean) podpisu za pomocą handledEventsTootruepolecenia . Obsługa metody OnPreviewMouseUpoznacza, że obsługa klasy uwzględnia wszystkie możliwe akcje przycisku myszy w górę. To zachowanie może być niepożądane; Dlatego należy zachować ostrożność podczas używania tej metody wirtualnej do oznaczania zdarzeń jako obsłużonych.

Każde z zdarzeń bezpośrednich specyficznych dla przycisku ma również wirtualną metodę On*; należy rozważyć, czy zastępowanie tych procedur obsługi klas specyficznych dla przycisków może być bardziej odpowiednie.

Ta metoda nie ma implementacji domyślnej. Ponieważ klasa pośrednia w dziedziczeniu może zaimplementować tę metodę, zalecamy wywołanie implementacji podstawowej w implementacji.

Cel tej metody jest podobny do wzorca zdarzeń środowiska uruchomieniowego języka wspólnego (CLR) On*: ta metoda zapewnia środki do obsługi pasujących zdarzeń z klas pochodnych przez ustanowienie procedury obsługi klas zamiast programu obsługi wystąpień. W takim przypadku zgodne zdarzenie jest zdarzeniem kierowanym. Wzorzec implementacji metod On* różni się w przypadku zdarzeń kierowanych, ponieważ zdarzenie kierowane może być wywoływane przez element podrzędny, który nie musi być elementem, który będzie wywoływać programy obsługi. W związku z tym implementacja musi zbadać właściwości źródłowe danych zdarzenia. W większości przypadków nie należy podejmować próby ponownego odzyskania wydarzenia.

Przez zastąpienie tej metody lub zarejestrowanie procedur obsługi klas za RegisterClassHandlerpomocą klasy pochodnej UIElement klasy klasy może wywołać metody procedury obsługi klas prywatnych, gdy zdarzenie jest odbierane wzdłuż trasy zdarzeń. Jednym ze scenariuszy, w którym obsługa klas jest odpowiednia, jest manipulowanie danymi zdarzenia i oznaczanie kierowanego zdarzenia jako obsługiwanego.

Dotyczy

Zobacz też