FrameworkPropertyMetadata.BindsTwoWayByDefault Property

Gets or sets a value that indicates whether the property binds two-way by default.

Namespace:  System.Windows
Assembly:  PresentationFramework (in PresentationFramework.dll)
XMLNS for XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

'Declaration
Public Property BindsTwoWayByDefault As Boolean
Members of this class are not typically used in XAML.

Property Value

Type: System.Boolean
true if the dependency property on which this metadata exists binds two-way by default; otherwise, false. The default is false.

ExceptionCondition
InvalidOperationException

The metadata has already been applied to a dependency property operation, so that metadata is sealed and properties of the metadata cannot be set.

In absence of this property being true, binding updates are one-way by default, based on the default behavior of the Binding constructors or equivalent XAML syntax.

In existing elements, you will usually find this property set to true in metadata for dependency properties that both report state and are modifiable by user action, for example Selector.IsSelected.

This property only reports the default binding update characteristics of the dependency property in general. Any binding set to this property on an instance can locally set the Mode property of the binding and change this default.

Properties on any derived classes of PropertyMetadata are typically defined in the object model as read-write. This is so they can be adjusted after initialization of the instance. However, after the metadata is consumed as part of a call to Register, AddOwner, or OverrideMetadata, the property system will seal that metadata instance and properties that convey the specifics of the metadata are now considered immutable. Attempting to set this property after IsSealed is true on this metadata instance will raise an exception.

The following example obtains the default metadata from various dependency property fields, queries the value of various FrameworkPropertyMetadata properties on it, and uses the information to populate a table to implement a "metadata browser".

		pm = dp.GetMetadata(dp.OwnerType)


...


		Dim fpm As FrameworkPropertyMetadata = TryCast(pm, FrameworkPropertyMetadata)
		If fpm IsNot Nothing Then
			AffectsArrange.Text = If((fpm.AffectsArrange), "Yes", "No")
			AffectsMeasure.Text = If((fpm.AffectsMeasure), "Yes", "No")
			AffectsRender.Text = If((fpm.AffectsRender), "Yes", "No")
                [Inherits].Text = If((fpm.Inherits), "Yes", "No")
			IsDataBindingAllowed.Text = If((fpm.IsDataBindingAllowed), "Yes", "No")
			BindsTwoWayByDefault.Text = If((fpm.BindsTwoWayByDefault), "Yes", "No")

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

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

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft