Freigeben über


UIElement.OnKeyDown(KeyEventArgs) Methode

Definition

Wird aufgerufen, wenn ein nicht behandeltes, angefügtes KeyDown-Ereignis beim Durchlauf ein von dieser Klasse abgeleitetes Element erreicht. Implementieren Sie diese Methode, um eine Klassenbehandlung für dieses Ereignis hinzuzufügen.

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

Parameter

e
KeyEventArgs

Das KeyEventArgs, das die Ereignisdaten enthält.

Hinweise

Tastenanschläge werden von einem dedizierten Eingabe-Manager verarbeitet. Andere Programmierfeatures, die auf Tastenanschlägen basieren, z. B. Eingabe- und Befehlsbindungen, können die Tasteneingabe behandeln, bevor sie als allgemeine Tastenkombination verfügbar gemacht wird. Wenn diese Eingabesystemfeatures das Ereignis als behandelt markieren, wird nicht OnKeyDown aufgerufen.

Diese Methode verfügt über keine Standardimplementierung. Da eine Zwischenklasse in der Vererbung diese Methode möglicherweise implementiert, wird empfohlen, die Basisimplementierung in Ihrer Implementierung aufzurufen.

Der Zweck dieser Methode ähnelt dem ClR-Ereignismuster (Common Language Runtime) on*-Methoden: Diese Methode stellt die Möglichkeit bereit, das übereinstimmende Ereignis von abgeleiteten Klassen zu behandeln, indem anstelle eines instance-Handlers ein Klassenhandler erstellt wird. In diesem Fall ist das übereinstimmende Ereignis ein Routingereignis. Das Implementierungsmuster der On*-Methoden unterscheidet sich bei Routingereignissen, da ein routingfähiges Ereignis von einem untergeordneten Element ausgelöst werden kann, das nicht unbedingt das Element ist, das Handler aufruft. Daher muss Ihre Implementierung die Quelleigenschaften der Ereignisdaten untersuchen. In den meisten Fällen sollte nicht versucht werden, das Ereignis erneut zu bewerten.

Entweder durch Überschreiben dieser Methode oder durch Registrieren von Klassenhandlern bei RegisterClassHandlerkönnen abgeleitete Klassen von UIElement private Klassenhandlermethoden aufrufen, wenn das Ereignis entlang der Ereignisroute empfangen wird. Ein Szenario, in dem die Klassenbehandlung geeignet ist, besteht darin, die Ereignisdaten zu bearbeiten und das weitergeleitete Ereignis als behandelt zu markieren.

Gilt für:

Weitere Informationen