RoutedEventArgs.OriginalSource Propriété

Définition

Obtient une référence à l’objet qui a déclenché l’événement. Il s’agit souvent d’un modèle faisant partie d’un contrôle plutôt que d’un élément qui a été déclaré dans l’interface utilisateur de votre application.

public:
 property Platform::Object ^ OriginalSource { Platform::Object ^ get(); };
IInspectable OriginalSource();
public object OriginalSource { get; }
var object = routedEventArgs.originalSource;
Public ReadOnly Property OriginalSource As Object

Valeur de propriété

Object

Platform::Object

IInspectable

Objet ayant déclenché l'événement.

Remarques

Lorsqu’un événement routé bulle une route d’événements, l’expéditeur n’est plus le même objet que l’objet qui déclenche des événements. En effet, sender est plutôt l’objet auquel le gestionnaire qui est invoqué est attaché.

Dans certains cas, sender n’est pas intéressant et ce que vous voulez savoir, c’est plutôt sur quel objet enfant le pointeur se trouve quand un événement de pointeur se déclenche ou quel objet dans une interface utilisateur plus grande a le focus quand l’utilisateur appuie sur une touche du clavier. Dans ces cas-là, vous pouvez utiliser la valeur de la propriété OriginalSource. À tous les stades de l’itinéraire, OriginalSource signale l’objet d’origine qui a déclenché l’événement, plutôt que l’objet auquel le gestionnaire est attaché. Toutefois, pour les événements d’entrée UIElement, cet objet d’origine est souvent un objet qui n’est pas immédiatement visible dans le code XAML de définition de l’interface utilisateur au niveau de la page. Au lieu de cela, cet objet source d’origine peut être une partie basée sur un modèle d’un contrôle. Par exemple, si l’utilisateur passe le pointeur au-dessus du bord d’un objet Button, pour la plupart des événements de pointeur, l’objet OriginalSource est une partie de modèle Border dans la propriété Template, et non l’objet Button lui-même. Par conséquent, vous ne pouvez pas toujours compter sur OriginalSource représentant un objet que vous avez déclaré spécifiquement dans vos définitions d’interface utilisateur au niveau de la page XAML.

Conseil

Le bouillonnement d’événements d’entrée est particulièrement utile si vous créez un contrôle modèle. Tout contrôle qui possède un modèle peut se voir appliquer un nouveau modèle par son consommateur. Le consommateur qui essaie de recréer un modèle de travail peut involontairement éliminer une gestion des événements déclarée dans le modèle par défaut. Vous pouvez quand même fournir une gestion des événements au niveau du contrôle en attachant des gestionnaires dans le cadre du remplacement de la méthode OnApplyTemplate dans la définition de classe. Vous pouvez ensuite intercepter les événements d’entrée qui se propagent à la racine du contrôle lors de l’instanciation.

S’applique à

Voir aussi