RoutedEventArgs Class


Contains state information and event data associated with a routed event.

/// [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 RoutedEventArgs
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
public class RoutedEventArgs
Public Class RoutedEventArgs
Object IInspectable RoutedEventArgs

Windows requirements

Device family
Windows 10 (introduced in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduced in v1.0)


RoutedEventArgs is a common event data type used for base element events in UWP app using C++, C#, or Visual Basic. Generally RoutedEventArgs as the event data type indicates that the event with this event data is a routed event, although there are some exceptions. For more info on routed events and how to handle them, see Events and routed events overview.

The API that RoutedEventArgs adds to a generalized event data set is OriginalSource. OriginalSource can be useful for determining the element that first raised the event for hit testing and event routing scenarios, but there are also times where the sender from the delegate signature is the more useful source object reference for a handler. For more info, see Events and routed events overview.

RoutedEventArgs and the Handled property

If you're familiar with Windows Presentation Foundation (WPF), you might know that Windows Presentation Foundation (WPF) declares a property named Handled on the RoutedEventArgs class. Certain routed event data classes in the Windows Runtime also define a Handled property, and you use it the same way you did in Windows Presentation Foundation (WPF) (it influences the event route from within your handler.) However, for Windows Runtime and also for Microsoft Silverlight this behavior is specific only to certain routed events rather than all routed events (as is true in Windows Presentation Foundation (WPF)). For example, you can set Handled if you are handling a pointer event and the event data class is PointerRoutedEventArgs, but you can't set Handled for a Loaded event where the event data is a RoutedEventArgs instance.

RoutedEventArgs derived classes

RoutedEventArgs is the parent class for several immediately derived classes that define event data for Windows Runtime events involving UI elements. Not all of the events where the classes provide data are necessarily routed events as defined in Events and routed events overview. But many are. The ones that aren't sometimes have the event data derived from RoutedEventArgs for compatibility reasons.



Initializes a new instance of the RoutedEventArgs class.



Gets a reference to the object that raised the event. This is often a template part of a control rather than an element that was declared in your app UI.

Applies to

See also