RoutedEventArgs.OriginalSource Property

Definition

Gets the original reporting source as determined by pure hit testing, before any possible Source adjustment by a parent class.

public:
 property System::Object ^ OriginalSource { System::Object ^ get(); };
public object OriginalSource { get; }
member this.OriginalSource : obj
Public ReadOnly Property OriginalSource As Object

Property Value

The original reporting source, before any possible Source adjustment made by class handling, which may have been done to flatten composited element trees.

Remarks

This property acquires its value once, before the class event handlers or any instance handlers are invoked, and is never adjusted past this point. The original source information is read-only to class handlers or class implementations, just as it is reported in the event data.

Common cases where the source may be adjusted include content elements inside a content model for a control (the contents of a list item, for instance, will report the list item element as the Source and the actual element within the list item will be the OriginalSource.

Source adjustment by various elements and content models varies from class to class. Each class that adjusts event sources attempts to anticipate which source is the most useful to report for most input scenarios and the scenarios for which the class is intended, and then sets that source as the Source. If this source is not the one that has relevance to your handling of the event, try checking OriginalSource instead to see if it reports a different source that is more suitable. For more details on input events, see Input Overview.

Applies to

See also