Udostępnij za pośrednictwem


UIElement.OnPreviewMouseUp(MouseButtonEventArgs) Metoda

Definicja

Wywoływane, gdy nieobsługiwane zdarzenie PreviewMouseUp dołączone 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

MouseButtonEventArgs, który zawiera 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 opierają się na akcjach przycisku 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ą zdarzenie Mouse.PreviewMouseUp jako obsługiwane, OnPreviewMouseUp nie jest wywoływana.

Jeśli używasz tej procedury obsługi klas do oznaczania zdarzenia jako obsługiwanego, potencjalnie wpłynie to na następujące zdarzenia: PreviewMouseLeftButtonUp i PreviewMouseRightButtonUp. Po odebraniu Mouse.PreviewMouseUp jeden z tych zdarzeń może zostać podniesiony do elementu odbierającego.

Jeśli oznaczysz to zdarzenie jako obsługiwane w obsłudze klas, nadal są wywoływane podventy; jednak przekazują stan obsłużony w danych zdarzenia. Jeśli zdarzenie jest obsługiwane w obsłudze klas, programy obsługi wystąpień dla podwentu nie są wywoływane, chyba że jawnie użyjesz AddHandler(RoutedEvent, Delegate, Boolean) z handledEventsTootrue w celu dołączenia programów 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 podpisu RegisterClassHandler(Type, RoutedEvent, Delegate, Boolean) z handledEventsTootrue. Obsługa OnPreviewMouseUpoznacza, że obsługa klasy uwzględnia wszystkie możliwe akcje przycisku myszy. Takie 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ąpienie tych procedur obsługi klas specyficznych dla przycisków może być bardziej odpowiednie.

Ta metoda nie ma domyślnej implementacji. 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 zdarzenia.

Przesłaniając tę metodę lub rejestrując programy obsługi klas za pomocą RegisterClassHandler, klasy pochodne UIElement mogą wywoływać metody obsługi klas prywatnych, gdy zdarzenie jest odbierane wzdłuż trasy zdarzenia. Jednym ze scenariuszy, w którym obsługa klas jest odpowiednia, jest manipulowanie danymi zdarzeń i oznaczanie kierowanego zdarzenia zgodnie z obsługą.

Dotyczy

Zobacz też