FrameworkPropertyMetadata.IsDataBindingAllowed Property


Gets a value that indicates whether data binding is supported for the dependency property.

Namespace:   System.Windows
Assembly:  PresentationFramework (in PresentationFramework.dll)

public bool IsDataBindingAllowed { get; }

Property Value

Type: System.Boolean

true if data binding is supported on the dependency property to which this metadata applies; otherwise, false. The default is true.

This property reports false for one of two possible conditions: either data binding to a dependency property is not allowed because the dependency property is read-only (as reported in the dependency property identifier, not the metadata), or the value of another metadata property, IsNotDataBindable, is set to true in this metadata. This property is exposed as a convenience so that callers do not have to check both ReadOnly and IsNotDataBindable.

If you are attempting to create metadata that specifies that an otherwise read/write property should not support data binding, specify the flag NotDataBindable (note the slight naming convention difference versus IsNotDataBindable).

Members of this class are not typically used in XAML.

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);
FrameworkPropertyMetadata fpm = pm as FrameworkPropertyMetadata;
if (fpm!=null) {
    AffectsArrange.Text = (fpm.AffectsArrange) ? "Yes" : "No";
    AffectsMeasure.Text = (fpm.AffectsMeasure) ? "Yes" : "No";
    AffectsRender.Text = (fpm.AffectsRender) ? "Yes" : "No";
    Inherits.Text = (fpm.Inherits) ? "Yes" : "No";
    IsDataBindingAllowed.Text = (fpm.IsDataBindingAllowed) ? "Yes" : "No";
    BindsTwoWayByDefault.Text = (fpm.BindsTwoWayByDefault) ? "Yes" : "No";

.NET Framework
Available since 3.0
Return to top