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 und nicht ein Element, das in der App-Benutzeroberfläche 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 übergibt, sender
ist nicht mehr dasselbe Objekt wie das Ereignis auslösende Objekt. Stattdessen ist das Objekt, sender
in dem der aufgerufene Handler angefügt ist.
In einigen Fällen ist nicht interessant, sender
und Sie interessieren sich stattdessen für Informationen, z. B. für welche der möglichen untergeordneten Objekte der Zeiger ist, wenn ein Zeigerereignis ausgelöst wurde, 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. Gibt an jedem Punkt auf der Route das ursprüngliche Objekt an, OriginalSource
das das Ereignis ausgelöst hat, und nicht das Objekt, in dem der Handler angefügt ist. Bei UIElement-Eingabeereignissen ist das ursprüngliche Objekt jedoch häufig ein Objekt, das nicht direkt im XAML für die UI-Definition auf Seitenebene sichtbar ist. Stattdessen kann das ursprüngliche Quellobjekt ein Vorlagenteil eines Steuerelements sein. Wenn der Benutzer beispielsweise den Mauszeiger über den Rand einer Schaltfläche bewegt, handelt es sich bei den meisten Zeigerereignissen OriginalSource
um einen Rahmenvorlagenteil in der Vorlage, nicht um die Schaltfläche selbst. Daher können Sie sich nicht immer auf OriginalSource
die Darstellung eines Objekts verlassen, das Sie speziell in Ihren XAML-Benutzeroberflächendefinitionen auf Seitenebene deklariert haben.
Tipp
Das Bubbling von Eingabeereignissen ist besonders nützlich, wenn Sie ein Steuerelement mit Vorlagen erstellen. Auf jedes Steuerelement, das eine Vorlage besitzt, kann durch seinen Consumer eine neue Vorlage angewendet werden. Der Consumer, der eine Arbeitsvorlage erneut zu erstellen versucht, kann versehentlich in der Standardvorlage deklarierten Ereignisbehandlungscode entfernen. Sie können dennoch eine Ereignisbehandlung auf Steuerelementebene bereitstellen, indem Sie Handler als Teil der OnApplyTemplate-Überschreibung in der Klassendefinition anfügen. Anschließend können Sie die Eingabeereignisse abfangen, die bei der Instanziierung per Bubbling zum Stamm des Steuerelements weitergeleitet werden.