The bindingPropertyName placeholders given here correspond to the names of some of the declared settable properties of the Binding class, and the value strings are equivalent to how those property values would be set as a XAML attribute within a Binding declared as a XAML element.
Describing data binding as a concept is not covered here; see Data Binding Overview for concepts and Binding Declarations Overview for more details on alternate syntax. Alternate syntax discussion includes how to create equivalent bindings by a number of possible syntaxes, such as attribute properties of a Binding object element in XAML, property element syntax of a Binding, or procedural creation of a binding using SetBinding or the Binding constructor.
Important Note: |
|---|
In terms of dependency property precedence, a Binding expression is equivalent to a locally set value. If you set a local value for a property that previously had a
Binding expression, the Binding is completely removed. For details, see Dependency Property Value Precedence.
|
Binding is a markup extension. Markup extensions are typically implemented when there is a requirement to escape attribute values to be other than literal values or handler names, and the requirement is more global than just putting type converters on certain types or properties. All markup extensions in XAML use the { and } characters in their attribute syntax, which is the convention by which a XAML processor recognizes that a markup extension must process the attribute. For more information, see Markup Extensions and XAML. Binding is an unusual markup extension in that the Binding class that implements the extension functionality also implements several other methods and properties. These other members are not directly a requirement for markup extension functionality. The members are intended to make Binding a more versatile and self-contained class that can address many data binding scenarios in addition to functioning as a XAML markup extension.