ElementName Property

Binding.ElementName Property

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

Gets or sets the name of the element to use as the binding source object.

Namespace:  System.Windows.Data
Assembly:  System.Windows (in System.Windows.dll)
XMLNS for XAML: Not mapped to an xmlns.

public string ElementName { get; set; }
<Binding ElementName="nameString"/>

XAML Values


The value of the Name property x:Name attribute for the element of interest.

Property Value

Type: System.String
The value of the Name property or x:Name attribute of the element to bind to. The default is null.


The Binding has already been attached to a target element, and cannot be modified.


The Source or RelativeSource property has already been set.

When you set this property, the specified value must refer to an element in one of the following locations:

  • The current XAML namescope.

  • The XAML namescope of the templated parent if the binding target is in a data template or control template.

Because of this restriction, you cannot use the ElementName property to bind to elements that are not created by using XAML. To bind to elements created programmatically, use the Source property instead.

Source, RelativeSource, and ElementName are mutually exclusive in a binding. If you have set one of these attributes, then setting either of the other two in a binding (through XAML or through code) will cause an exception.

Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

© 2017 Microsoft