RoutedEvent Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt ein Routingereignis an das Windows-Runtime Ereignissystem dar.
public ref class RoutedEvent sealed
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class RoutedEvent final
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class RoutedEvent
Public NotInheritable Class RoutedEvent
- Vererbung
- Attribute
Beispiele
Dieses Beispiel zeigt die grundlegende Syntax zum Verkabeln eines Ereignishandlers mit AddHandler und handledEventsToo als true
. In diesem Fall lautet das verkabelte Ereignis Tapped, und der RoutedEvent
im Beispiel verwendete Bezeichner -type ist TappedEvent. Der typische Ort zum Verknüpfen von Handlern ist entweder Loaded für eine Seite oder OnApplyTemplate für ein Steuerelement mit Vorlagen.
void MainPage::pageRoot_Tapped(Platform::Object^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs^ e)
{
//implementation
}
void MainPage::pageRoot_Loaded(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
this->AddHandler(UIElement::TappedEvent, ref new TappedEventHandler(this, &MainPage::pageRoot_Tapped), true);
}
private void pageRoot_Tapped(object sender, TappedRoutedEventArgs e)
{
//implementation
}
private void pageRoot_Loaded_1(object sender, RoutedEventArgs e)
{
this.AddHandler(UIElement.TappedEvent, new TappedEventHandler(pageRoot_Tapped), true);
}
Hinweise
Hinweis
Das Windows-Runtime Ereignissystem ermöglicht es Ihnen nicht, ein benutzerdefiniertes Routingereignis zu erstellen. Nur die Windows-Runtime selbst kann ein Ereignis so definieren, dass es das Routingereignisverhalten aufweist.
Weitere Informationen zur Funktionsweise von Routingereignissen finden Sie unter Übersicht über Ereignisse und Routingereignisse. Der RoutedEvent
Typ ist Teil der Infrastruktur für Routingereignisse, aber Sie verwenden RoutedEvent
nicht direkt in der typischen Windows-Runtime-App-Programmierung.
Der Zweck des RoutedEvent
Typs besteht darin, als Bezeichner für das Windows-Runtime-Ereignissystem zu dienen, ähnlich wie DependencyProperty einen Bezeichnertyp für das Abhängigkeitseigenschaftensystem bereitstellt.
UIElement enthält mehrere statische schreibgeschützte Eigenschaften vom Typ RoutedEvent
, die mit einem Benennungsmuster benannt werden. Jede RoutedEvent
Eigenschaft wird nach einem Ereignis und dem Suffix "Event" benannt. Jede dieser Eigenschaften ist der Bezeichner für das Routingereignis, mit dem der Name beginnt. Beispielsweise identifiziert TappedEvent das Tapped-Ereignis , das an das Ereignissystem weitergeleitet wurde.
Bei den meisten App-Code-Verwendungen ist es alles, was zum Hinzufügen oder Entfernen von Handlern erforderlich ist, einfach anhand des Namens des Ereignisses in XAML oder durch seinen Codeentitätsnamen im Code auf das Ereignis zu verweisen. Die RoutedEvent
Bezeichner werden nur benötigt, wenn Sie Handler anfügen, die aufgerufen werden sollen, auch wenn die weitergeleiteten Ereignisse zuvor vom System- oder App-Code als behandelt markiert wurden. Die API, die Sie für dieses Szenario verwenden, und die API, die einen RoutedEvent
Wert als Parameter verwendet, sind UIElement.AddHandler und UIElement.RemoveHandler. Weitere Informationen finden Sie unter Übersicht über Ereignisse und Routingereignisse.
Ereignisse, die einen RoutedEvent-Bezeichner verwenden
Im Folgenden finden Sie eine Liste der Routingereignisse, die über einen RoutedEvent
Bezeichner verfügen und daher die beschriebene UIElement.AddHandler-Technik verwenden können:
- DoubleTapped
- DragEnter
- DragLeave
- DragOver
- Drop
- Holding
- KeyDown
- KeyUp
- ManipulationCompleted
- ManipulationDelta
- ManipulationInertiaStarting
- ManipulationStarted
- ManipulationStarting
- PointerCanceled
- PointerCaptureLost
- PointerEntered
- PointerExited
- PointerMoved
- PointerPressed
- PointerReleased
- PointerWheelChanged
- RightTapped
- Tapped
Hinweis
GotFocus und LostFocus fungieren wie Routingereignisse, verfügen jedoch nicht über einen RoutedEvent
Bezeichner, sodass Sie AddHandler nicht mit ihnen verwenden können.