Export (0) Print
Expand All

RoutedEventArgs.Source Property

Gets or sets a reference to the object that raised the event.

Namespace: System.Windows
Assembly: PresentationCore (in presentationcore.dll)
XML Namespace:  http://schemas.microsoft.com/winfx/2006/xaml/presentation

public Object Source { get; set; }
/** @property */
public Object get_Source ()

/** @property */
public void set_Source (Object value)

public function get Source () : Object

public function set Source (value : Object)

Members of this class are either not typically used in XAML, or cannot be used in XAML.

Property Value

The object that raised the event.

For any bubbling routed event that has actually traveled the route beyond the element that raised it, and for any tunneling routed event that has not yet tunneled down to the element that raised it, the value of Source will be different than the value of the sender parameter of the event arguments class. Which of the two elements involved in the event is of the most importance in any given handler (Source, the element that raised it, or sender, the element that is currently handling it) is dependent on the application logic that your handler is addressing.

Setting this property is typically only done when overriding or implementing other APIs that adjust event sources, such as when class handling an event. Resetting apparent event sources from instance handlers is not recommended, particularly when the handler does not mark the event as handled.

If you do reset Source to report a different event source, OriginalSource will continue to report the source as first raised by the originating RaiseEvent call.

This example shows how to find the source element in an event handler.

The following example shows a Click event handler that is declared in a code-behind file. When a user clicks the button that the handler is attached to, the handler changes a property value. The handler code uses the Source property of the routed event data that is reported in the event arguments to change the Width property value on the Source element.

<Button Click="HandleClick">Button 1</Button>

void HandleClick(object sender, RoutedEventArgs e)
{
    // You must cast the sender object as a Button element, or at least as FrameworkElement, to set Width
    Button srcButton = e.Source as Button;
    srcButton.Width = 200;
}

For the complete sample, see Finding the Source Element in an Event Handler Sample.

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0

Community Additions

ADD
Show:
© 2014 Microsoft