ContentElement.OnPreviewMouseUp(MouseButtonEventArgs) Metod

Definition

Anropas när en ohanterad bifogad PreviewMouseUp händelse når ett element i dess väg som härleds från den här klassen. Implementera den här metoden för att lägga till klasshantering för den här händelsen.

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)

Parametrar

e
MouseButtonEventArgs

Som MouseButtonEventArgs innehåller händelsedata. Händelsedata rapporterar att en eller flera musknappar släpptes.

Kommentarer

Musknappsåtgärder hanteras också av en dedikerad indatahanterare. Andra programmeringsfunktioner som förlitar sig på musknappsåtgärder, till exempel indata- och kommandobindningar, kan anropa hanterare för åtgärden innan den exponeras som en allmän musknappsåtgärd. Om dessa indatasystemfunktioner markerar Mouse.PreviewMouseUp händelsen som hanterad OnPreviewMouseUp anropas den inte.

Om du använder den här klasshanteraren för att markera händelsen som hanterad kan du påverka följande händelser: PreviewMouseLeftButtonUp och PreviewMouseRightButtonUp. Någon av dessa händelser kan aktiveras på det mottagande elementet när Mouse.PreviewMouseUp tas emot.

Om du markerar den här händelsen som hanterad i klasshantering genereras fortfarande underhändelser. De skickar dock det hanterade tillståndet i händelsedata. Om händelsen hanteras i klasshantering anropas inte instanshanterare för underhändelserna om du inte uttryckligen använder AddHandler(RoutedEvent, Delegate, Boolean) med handledEventsTootrue för att koppla hanterare. Klasshanterare anropas inte heller om inte klasshanterna registrerades med signaturen RegisterClassHandler(Type, RoutedEvent, Delegate, Boolean) med handledEventsTootrue. Genom att hantera OnPreviewMouseUpinnebär du att din klasshantering stod för alla möjliga åtgärder med musknappar. Det här beteendet kan vara oönskat. Var därför försiktig när du använder den här virtuella metoden för att markera händelser som hanterade.

Var och en av de knappspecifika direkthändelserna har också en virtuell På*-metod. fundera på om det kan vara lämpligare att åsidosätta dessa knappspecifika klasshanterare.

Den här metoden har ingen standardimplementering. Eftersom en mellanklass i arvet kan implementera den här metoden rekommenderar vi att du anropar basimplementeringen i implementeringen.

Syftet med den här metoden liknar CLR-händelsemönstret (Common Language Runtime) på* metoder: den här metoden ger möjlighet att hantera matchande händelse från härledda klasser genom att upprätta en klasshanterare i stället för en instanshanterare. I det här fallet är matchande händelse en dirigerad händelse. Implementeringsmönstret för Metoderna På* skiljer sig åt för routade händelser eftersom en dirigerad händelse kan genereras av ett underordnat element, vilket inte nödvändigtvis är det element som anropar hanterare. Därför måste implementeringen undersöka källegenskaperna för händelsedata. Den bör inte försöka göra om händelsen i de flesta fall.

Antingen genom att åsidosätta den här metoden eller genom att registrera klasshanterare med RegisterClassHandler, kan härledda klasser av ContentElement anropa privata klasshanterarmetoder när händelsen tas emot längs händelsevägen. Ett scenario där klasshantering är lämpligt är att manipulera händelsedata och markera den dirigerade händelsen som hanterad.

Gäller för

Se även