Click to Rate and Give Feedback
MSDN
MSDN Library
.NET Development
.NET Framework 3.5
Collapse All/Expand All Collapse All
This page is specific to
Microsoft Visual Studio 2008/.NET Framework 3.5

Other versions are also available for the following:
.NET Framework Class Library
BindingExpression Class

Contains information about a single instance of a Binding.

Namespace:  System.Windows.Data
Assembly:  PresentationFramework (in PresentationFramework.dll)
Visual Basic (Declaration)
Public NotInheritable Class BindingExpression _
    Inherits BindingExpressionBase _
    Implements IWeakEventListener
Visual Basic (Usage)
Dim instance As BindingExpression
C#
public sealed class BindingExpression : BindingExpressionBase, 
    IWeakEventListener
Visual C++
public ref class BindingExpression sealed : public BindingExpressionBase, 
    IWeakEventListener
JScript
public final class BindingExpression extends BindingExpressionBase implements IWeakEventListener
XAML
You cannot directly create an instance of this class in XAML.

The Binding class is the high-level class for the declaration of a binding. The BindingExpression class is the underlying object that maintains the connection between the binding source and the binding target. A Binding contains all the information that can be shared across several BindingExpression objects. A BindingExpression is an instance expression that cannot be shared and that contains all the instance information about the Binding.

For example, consider the following, where myDataObject is an instance of the MyData class, myBinding is the source Binding object, and MyData class is a defined class that contains a string property named MyDataProperty. This example binds the text content of mytext, which is an instance of TextBlock, to MyDataProperty.

Visual Basic
Dim data1 As New MyData(DateTime.Now)
Dim binding1 As New Binding("MyDataProperty")
binding1.Source = data1
Me.myText.SetBinding(TextBlock.TextProperty, binding1)
C#
//make a new source
  MyData myDataObject = new MyData(DateTime.Now);      
  Binding myBinding = new Binding("MyDataProperty");
  myBinding.Source = myDataObject;
  myText.SetBinding(TextBlock.TextProperty, myBinding);

You can use the same myBinding object to create other bindings. For example, you might use the myBinding object to bind the text content of a check box to MyDataProperty. In that scenario, there will be two instances of BindingExpression that share the myBinding object.

You can obtain a BindingExpression object by using the GetBindingExpression method or the GetBindingExpression method on a data-bound object.

This example shows how to obtain the binding object from a data-bound target property.

You can do the following to get the Binding object:

C#
// textBox3 is an instance of a TextBox
// the TextProperty is the data-bound dependency property
Binding myBinding = BindingOperations.GetBinding(textBox3, TextBox.TextProperty);
NoteNote:

You must specify the dependency property for the binding you want because it is possible that more than one property of the target object is using data binding.

Alternatively, you can get the BindingExpression and then get the value of the ParentBinding property.

For the complete example see Binding Validation Sample.

NoteNote:

If your binding is a MultiBinding, use BindingOperations.GetMultiBinding. If it is a PriorityBinding, use BindingOperations.GetPriorityBinding. If you are uncertain whether the target property is bound using a Binding, a MultiBinding, or a PriorityBinding, you can use BindingOperations.GetBindingBase.

System..::.Object
  System.Windows..::.Expression
    System.Windows.Data..::.BindingExpressionBase
      System.Windows.Data..::.BindingExpression
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0
Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Processing
© 2009 Microsoft Corporation. All rights reserved. Terms of Use | Trademarks | Privacy Statement | Site Feedback
Page view tracker