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 weitergeleitetes Ereignis an das Windows-Runtime-Ereignissystem dar.
public ref class RoutedEvent sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class RoutedEvent final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class RoutedEvent final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class RoutedEvent
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class RoutedEvent
Public NotInheritable Class RoutedEvent
- Vererbung
- Attribute
Windows-Anforderungen
Gerätefamilie |
Windows 10 (eingeführt in 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (eingeführt in v1.0)
|
Beispiele
In diesem Beispiel wird die grundlegende Syntax für die Verdrahtung eines Ereignishandlers mit AddHandler und handledEventsToo als true veranschaulicht. In diesem Fall wird das verkabelte Ereignis getippt, und der im Beispiel verwendete RoutedEvent-Typbezeichner ist TappedEvent. Der typische Ort für Verdrahtungshandler ist entweder Loaded für eine Seite oder OnApplyTemplate für ein vorlagenbasiertes Steuerelement.
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);
}
Private Sub Page_Tapped(sender As Object, e As TappedRoutedEventArgs)
' implementation
End Sub
Private Sub Page_Loaded_1(sender As Object, e As RoutedEventArgs)
Me.AddHandler(UIElement.TappedEvent, New TappedEventHandler(AddressOf Page_Tapped), True)
End Sub
Hinweise
Hinweis
Das Windows-Runtime-Ereignissystems 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 routingfähige Ereignisse. 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 mithilfe eines Benennungsmusters benannt werden. Jede RoutedEvent-Eigenschaft ist nach einem Ereignis und dem Suffix "Event" benannt. Jede solche Eigenschaft ist der Bezeichner für das Routingereignis, mit dem sein Name beginnt. Beispielsweise identifiziert TappedEvent das getippte Weitergeleitete Ereignis an das Ereignissystem.
Für die meisten App-Codeverwendungen ist lediglich das Verweisen auf das Ereignis anhand des Namens in XAML oder des Codeentitätsnamens im Code erforderlich, um auf ein Ereignis für ein Objekt zu verweisen, um Handler hinzuzufügen oder zu entfernen. Die RoutedEvent-Bezeichner werden nur benötigt, wenn Sie Handler anfügen, die aufgerufen werden sollen, auch wenn die weitergeleiteten Ereignisse zuvor als vom System- oder App-Code 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
Hier sehen Sie eine Liste der weitergeleiteten Ereignisse, die über einen RoutedEvent-Bezeichner verfügen und daher die von uns 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 wirken wie Routingereignisse, verfügen aber nicht über einen RoutedEvent-Bezeichner, sodass Sie AddHandler nicht mit ihnen verwenden können.