Binding Class

Binding Class

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

Defines a binding that connects the properties of binding targets and data sources.


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

public class Binding : BindingBase, ISupportInitialize
See Remarks

The Binding type exposes the following members.

Public methodBinding()Initializes a new instance of the Binding class.
Public methodBinding(String)Initializes a new instance of the Binding class with an initial property path for the data source.

Public propertyBindsDirectlyToSourceGets or sets a value that indicates whether the binding ignores any ICollectionView settings on the data source.
Public propertyConverterGets or sets the converter object that is called by the binding engine to modify the data as it is passed between the source and target, or vice versa.
Public propertyConverterCultureGets or sets the culture to be used by the Converter.
Public propertyConverterParameterGets or sets a parameter that can be used in the Converter logic.
Public propertyElementNameGets or sets the name of the element to use as the binding source object.
Public propertyFallbackValueGets or sets the value to use when the binding is unable to return a value. (Inherited from BindingBase.)
Public propertyModeGets or sets a value that indicates the direction of the data flow in the binding.
Public propertyNotifyOnValidationErrorGets or sets a value that indicates whether the BindingValidationError event is raised on validation errors.
Public propertyPathGets or sets the path to the binding source property.
Public propertyRelativeSourceGets or sets the binding source by specifying its location relative to the position of the binding target.
Public propertySourceGets or sets the data source for the binding.
Public propertyStringFormatGets or sets a string that specifies how to format the binding if it displays the bound value as a string. (Inherited from BindingBase.)
Public propertyTargetNullValueGets or sets the value that is used in the target when the value of the source is null. (Inherited from BindingBase.)
Public propertyUpdateSourceTriggerGets or sets a value that determines the timing of binding source updates for two-way bindings.
Public propertyValidatesOnDataErrorsGets or sets a value that indicates whether the binding engine will report validation errors from an IDataErrorInfo implementation on the bound data entity.
Public propertyValidatesOnExceptionsGets or sets a value that indicates whether the binding engine will report exception validation errors.
Public propertyValidatesOnNotifyDataErrorsGets or sets a value that indicates whether the binding engine will report validation errors from an INotifyDataErrorInfo implementation on the bound data entity.

Protected methodCheckSealedThrows an exception if the binding has already been attached to a binding target. (Inherited from BindingBase.)
Public methodEquals(Object)Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetHashCodeServes as a hash function for a particular type. (Inherited from Object.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)

Explicit interface implemetationPrivate methodISupportInitialize.BeginInitSignals the object that initialization is starting.
Explicit interface implemetationPrivate methodISupportInitialize.EndInitSignals the object that initialization is complete.

The Binding markup extension enables you to specify a Binding value as a single attribute string, including setting Binding properties such as Path and Source.

A Binding object connects a dependency property of a FrameworkElement directly to a data object so that updates to the data object are automatically propagated to the property. The Binding class defines the properties of a binding. Each binding must have a target element, target property, and data source, although some values are provided by default if you do not specify them.

To bind to a property or a subproperty on a data object, set the Path property of the Binding object.

You can apply an instance of a Binding class to multiple targets. However, you cannot modify the property values of a Binding object after you attach it to a target element.


Calling the FrameworkElement.SetBinding method and passing in a new Binding object will not necessarily remove an existing binding. Instead, you should use the DependencyObject.ClearValue method.

The following example code demonstrates how to use this class.

//Create the source string
string s = "Hello";

//Create the binding description
Binding b = new Binding("");
b.Mode = BindingMode.OneTime;
b.Source = s;

//Attach the binding to the target
MyText.SetBinding(TextBlock.TextProperty, b);

Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

© 2017 Microsoft