ContentElement.OnPreviewMouseUp(MouseButtonEventArgs) Metoda

Definice

Vyvolána, když neošetřená PreviewMouseUp přidružená událost dosáhne prvku v jeho trase, který je odvozen z této třídy. Implementací této metody přidáte zpracování třídy pro tuto událost.

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

Objekt MouseButtonEventArgs , který obsahuje data události. Data události hlásí, že bylo uvolněno jedno nebo více tlačítek myši.

Poznámky

Akce tlačítka myši jsou také zpracovávány vyhrazeným správcem vstupu. Jiné programovací funkce, které spoléhají na akce tlačítka myši, jako jsou vstupní a příkazové vazby, můžou vyvolat obslužné rutiny pro akci předtím, než se zobrazí jako obecná akce tlačítka myši. Pokud tyto funkce vstupního systému označí Mouse.PreviewMouseUp událost jako zpracovaný, OnPreviewMouseUp není vyvolána.

Pokud použijete tuto obslužnou rutinu třídy k označení události jako zpracované, potenciálně ovlivníte následující události: PreviewMouseLeftButtonUp a PreviewMouseRightButtonUp. Kterákoliv z těchto událostí může být vyvolána na přijímající prvek při Mouse.PreviewMouseUp přijetí.

Pokud označíte tuto událost jako zpracována ve zpracování třídy, subevents jsou stále vyvolány; v datech události však předají zpracovaný stav. Pokud je událost zpracována ve zpracování třídy, obslužné rutiny instance pro subevents nejsou vyvolány, pokud explicitně nepoužijete AddHandler(RoutedEvent, Delegate, Boolean) s handledEventsTootrue pro připojení obslužných rutin. Obslužné rutiny třídy se také nevyvolají, pokud tyto obslužné rutiny třídy nebyly zaregistrovány s RegisterClassHandler(Type, RoutedEvent, Delegate, Boolean) podpisem pomocí handledEventsTootrue. Zpracováním znamenáte OnPreviewMouseUp, že zpracování vaší třídy zohlednilo všechny možné akce tlačítka myši. Toto chování může být nežádoucí; Proto buďte opatrní při použití této virtuální metody k označení událostí jako zpracovaných.

Každá z přímých událostí specifických pro tlačítko má také virtuální on* metodu; zvažte, zda by přepsání těchto obslužných rutin třídy specifické pro tlačítko mohlo být vhodnější.

Tato metoda nemá žádnou výchozí implementaci. Vzhledem k tomu, že zprostředkující třída v dědičnosti může implementovat tuto metodu, doporučujeme volat základní implementaci v implementaci.

Účel této metody je podobný vzoru událostí Common Language Runtime (CLR) On*: tato metoda poskytuje prostředky pro zpracování odpovídající události z odvozených tříd vytvořením obslužné rutiny třídy místo obslužné rutiny instance. V tomto případě je odpovídající událost směrovaná událost. Model implementace metod On* se liší u směrovaných událostí, protože směrovaná událost může být vyvolána podřízeným prvkem, který nemusí být nutně elementem, který bude volat obslužné rutiny. Proto vaše implementace musí prozkoumat vlastnosti zdroje dat událostí. Ve většině případů by se neměl pokoušet událost znovu spustit.

Buď přepsáním této metody, nebo registrací obslužných rutin třídy s RegisterClassHandler, mohou odvozené třídy ContentElement volat metody privátní třídy obslužné rutiny, když událost je přijata podél trasy události. Jedním ze scénářů, kde je zpracování třídy vhodné, je manipulace s daty události a označení směrované události jako zpracovávané.

Platí pro

Viz také