RoutedEventArgs.OriginalSource Eigenschaft
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.
Ruft einen Verweis auf das Objekt ab, das das Ereignis ausgelöst hat. Dies ist häufig ein Vorlagenteil eines Steuerelements anstelle eines Elements, das in der App-UI deklariert wurde.
public:
property Platform::Object ^ OriginalSource { Platform::Object ^ get(); };
IInspectable OriginalSource();
public object OriginalSource { get; }
var object = routedEventArgs.originalSource;
Public ReadOnly Property OriginalSource As Object
Eigenschaftswert
Das Objekt, das das Ereignis ausgelöst hat.
Hinweise
Wenn ein Routingereignis eine Ereignisroute überblasen wird, sender ist es nicht mehr dasselbe Objekt wie das Ereignis auslösende Objekt. Ist stattdessen das Objekt, sender an das der aufgerufene Handler angefügt ist.
In einigen Fällen sender ist es nicht interessant, und Sie interessieren sich stattdessen für Informationen, z. B. welche der möglichen untergeordneten Objekte, die der Zeiger beim Auslösen eines Zeigers ausgelöst hat, oder welches Objekt in einer größeren Benutzeroberfläche den Fokus hat, wenn ein Benutzer eine Tastaturtaste gedrückt hat. In diesen Fällen können Sie den Wert der OriginalSource Eigenschaft verwenden. An allen Punkten auf der Route meldet das ursprüngliche Objekt, OriginalSource das das Ereignis ausgelöst hat, anstelle des Objekts, an dem der Handler angefügt ist. Bei UIElement-Eingabeereignissen ist dieses ursprüngliche Objekt jedoch häufig ein Objekt, das im XAML-XAML-Code der UI-Definition auf Seitenebene nicht sofort sichtbar ist. Stattdessen kann es sich bei diesem ursprünglichen Quellobjekt um einen vorlagenbasierten Teil eines Steuerelements handeln. Wenn der Benutzer beispielsweise den Mauszeiger über den Rand einer Schaltfläche bewegt, handelt es OriginalSource sich bei den meisten Zeigerereignissen um einen Rahmenvorlagenteil in der Vorlage, nicht um die Schaltfläche selbst. Daher können Sie sich nicht immer darauf OriginalSource verlassen, ein Objekt darzustellen, das Sie speziell in Ihren XAML-UI-Definitionen auf Seitenebene deklariert haben.
Tip
Eingabeereignisbubbling ist besonders hilfreich, wenn Sie ein Vorlagensteuerelement erstellen. Jedes Steuerelement, das über eine Vorlage verfügt, kann von seinem Benutzer eine neue Vorlage angewendet bekommen. Der Verbraucher, der versucht, eine Arbeitsvorlage neu zu erstellen, kann unbeabsichtigt eine ereignisbasierte Behandlung beseitigen, die in der Standardvorlage deklariert ist. Sie können die Ereignisbehandlung auf Steuerelementebene weiterhin bereitstellen, indem Sie Handler als Teil der OnApplyTemplate-Außerkraftsetzung in der Klassendefinition anfügen. Wenn Sie das Steuerelement instanziieren, können Sie anschließend die Eingabeereignisse erfassen, die bis zum Stamm des Steuerelements weitergeleitet werden.