ContentElement.OnPreviewMouseUp(MouseButtonEventArgs) Metoda

Definicja

Wywoływana, gdy nieobsłużone zdarzenie PreviewMouseUp dołączone do elementu w swojej trasie, który jest pochodną tej klasy.Invoked when an unhandled PreviewMouseUp attached event reaches an element in its route that is derived from this class. Zaimplementuj tę metodę, aby dodać obsługę klasy dla tego zdarzenia.Implement this method to add class handling for this event.

protected public:
 virtual void OnPreviewMouseUp(System::Windows::Input::MouseButtonEventArgs ^ e);
protected internal 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 Friend Overridable Sub OnPreviewMouseUp (e As MouseButtonEventArgs)

Parametry

e
MouseButtonEventArgs

MouseButtonEventArgs, który zawiera dane zdarzenia.The MouseButtonEventArgs that contains the event data. Dane zdarzenia zgłaszają, że co najmniej jeden przycisk myszy został wykryty.The event data reports that one or more mouse buttons were released.

Uwagi

Akcje przycisków myszy są również obsługiwane przez dedykowanego Menedżera danych wejściowych.Mouse button actions are also handled by a dedicated input manager. Inne funkcje programistyczne, które opierają się na akcjach przycisku myszy, takie jak powiązania danych wejściowych i poleceń, mogą wywoływać programy obsługi dla akcji, zanim zostanie ono ujawnione jako ogólna akcja przycisku myszy.Other programming features that rely on mouse button actions, such as input and command bindings, might invoke handlers for the action before it is exposed as a general mouse button action. Jeśli te funkcje systemu wejściowego oznaczą Mouse.PreviewMouseUp zdarzenie jako obsłużone, OnPreviewMouseUp nie jest wywoływana.If these input system features mark the Mouse.PreviewMouseUp event as handled, OnPreviewMouseUp is not invoked.

Jeśli używasz tej procedury obsługi klasy do oznaczania zdarzenia jako obsługiwanego, może to mieć wpływ na następujące zdarzenia: PreviewMouseLeftButtonUp i PreviewMouseRightButtonUp.If you use this class handler to mark the event as handled, you potentially impact the following events: PreviewMouseLeftButtonUp and PreviewMouseRightButtonUp. Każde z tych zdarzeń może zostać zgłoszone dla elementu odbiorczego po odebraniu Mouse.PreviewMouseUp.Either of these events might be raised on the receiving element when Mouse.PreviewMouseUp is received.

Po oznaczeniu tego zdarzenia jako obsługiwanego w obsłudze klasy, podzdarzenia nadal są wywoływane; jednak przechodzą stan obsłużony w danych zdarzenia.If you mark this event as handled in class handling, subevents are still raised; however, they pass the handled state in the event data. Jeśli zdarzenie jest obsługiwane w obsłudze klas, programy obsługi wystąpień dla zdarzeń nie są wywoływane, chyba że jawnie użyto AddHandler(RoutedEvent, Delegate, Boolean) z handledEventsToo true w celu dołączenia programów obsługi.If the event is handled in class handling, instance handlers for the subevents are not invoked unless you explicitly use AddHandler(RoutedEvent, Delegate, Boolean) with handledEventsToo true in order to attach handlers. Procedury obsługi klas również nie są wywoływane, jeśli te programy obsługi klas nie zostały zarejestrowane przy użyciu podpisu RegisterClassHandler(Type, RoutedEvent, Delegate, Boolean) z handledEventsToo true.Class handlers also are not invoked unless those class handlers were registered with the RegisterClassHandler(Type, RoutedEvent, Delegate, Boolean) signature with handledEventsToo true. Dzięki obsłudze OnPreviewMouseUpoznaczasz, że obsługa klasy obsługiwała wszystkie możliwe akcje przycisku myszy.By handling OnPreviewMouseUp, you are implying that your class handling accounted for all possible mouse button up actions. Takie zachowanie może być niepożądane; W związku z tym należy zachować ostrożność podczas używania tej metody wirtualnej do oznaczania zdarzeń jako obsłużonych.This behavior might be unwanted; Therefore, use caution when you use this virtual method to mark events as handled.

Każde zdarzenie bezpośrednie specyficzne dla przycisku ma także wirtualną metodę*. Zastanów się, czy przesłanianie tych programów obsługi klas właściwych dla przycisku może być bardziej odpowiednie.Each of the button-specific direct events also has a virtual On* method; consider whether overriding these button-specific class handlers might be more appropriate.

Ta metoda nie ma domyślnej implementacji.This method has no default implementation. Ponieważ Klasa pośrednicząca w dziedziczeniu może implementować tę metodę, zalecamy wywołanie podstawowej implementacji w implementacji.Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation.

Celem tej metody jest podobna do wzorca zdarzeń środowisko uruchomieniowe języka wspólnego (CLR)common language runtime (CLR) w metodach*: Ta metoda zapewnia metodę obsługi pasującego zdarzenia z klas pochodnych przez ustanowienie procedury obsługi klas zamiast procedury obsługi wystąpienia.The purpose of this method is similar to the środowisko uruchomieniowe języka wspólnego (CLR)common language runtime (CLR) event pattern On* methods: this method provides the means to handle the matching event from derived classes by establishing a class handler instead of an instance handler. W takim przypadku zdarzenie dopasowywania jest zdarzeniem kierowanym.In this case the matching event is a routed event. Wzorzec implementacji dla* metod jest różny dla zdarzeń kierowanych, ponieważ zdarzenie kierowane może być zgłaszane przez element podrzędny, który nie musi być elementem, który wywoła procedury obsługi.The implementation pattern of the On* methods is different for routed events because a routed event can be raised by a child element, which is not necessarily the element that will invoke handlers. W związku z tym implementacja musi przeanalizować właściwości źródłowe danych zdarzenia.Therefore, your implementation needs to examine the source properties of the event data. Nie należy próbować ponownie podnieść poziomu zdarzenia w większości przypadków.It should not try to reraise the event in most cases.

Przez zastąpienie tej metody lub przez zarejestrowanie obsługi klas w RegisterClassHandlerpochodne klasy ContentElement mogą wywołać metody obsługi klasy prywatnej, gdy zdarzenie jest odbierane wzdłuż trasy zdarzenia.Either by overriding this method or by registering class handlers with RegisterClassHandler, derived classes of ContentElement can call private class handler methods when the event is received along the event route. Jednym z scenariuszy, w których obsługiwana jest Klasa, jest manipulowanie danymi zdarzenia i oznaczenie zdarzenia kierowanego jako obsługiwanego.One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled.

Dotyczy

Zobacz też