FrameworkPropertyMetadata.IsNotDataBindable プロパティ

定義

依存関係プロパティがデータ バインディングをサポートしているかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether the dependency property supports data binding.

public:
 property bool IsNotDataBindable { bool get(); void set(bool value); };
public bool IsNotDataBindable { get; set; }
member this.IsNotDataBindable : bool with get, set
Public Property IsNotDataBindable As Boolean

プロパティ値

プロパティがデータ バインドをサポートしない場合はtrue、それ以外の場合は falsetrue if the property does not support data binding; otherwise, false. 既定値は、false です。The default is false.

例外

メタデータがシールされるよう、かつメタデータのプロパティを設定できないように、メタデータは依存関係プロパティの操作に既に適用されています。The metadata has already been applied to a dependency property operation, so that metadata is sealed and properties of the metadata cannot be set.

注釈

このメタデータプロパティは、読み取り/ true書き込みプロパティであるにもかかわらず、データバインディングをサポートしていないプロパティに対しては、特にに設定されていることに注意してください。Note that this metadata property is set to true specifically for properties that should not support data binding, despite being read-write properties. ほとんどの場合、依存関係プロパティが宣言されている場合、データバインディングが必要になるのは、依存関係プロパティが有用な主要なシナリオの1つであるためです。The expectation is that in most cases where a dependency property is declared, data binding is desired, because data binding is one of the key scenarios where a dependency property is useful. BindsTwoWayByDefaultは異なり、これは、特定のバインディングで後で変更できる既定値を変更するだけではありません。Unlike BindsTwoWayByDefault, this does not merely change a default that can later be changed on a specific binding. 依存関係プロパティtrueのメタデータでこのプロパティを設定すると、すべてのバインドが、式を使用してその依存関係プロパティに値を適用するのを無効にします。Setting this property true in the metadata for a dependency property metadata will disable all bindings from applying their values through expressions to that dependency property.

読み取り専用の依存関係プロパティでは、変更された値を適用できる setter がないため、データバインディングはサポートさfalseIsNotDataBindableませんが、については引き続き報告されます。Read-only dependency properties do not support data binding (because they have no setter that can apply changed values), but will still report false for IsNotDataBindable. これは、 FrameworkPropertyMetadataOptions値に対応するプロパティによって、メタデータが実際にどのように設定されたかを示すパリティがレポートされるためです。プロパティの名前付けによって生じる可能性がある最終的な結果の動作は常に報告されるとは限りません。This is because properties that correspond to a FrameworkPropertyMetadataOptions values will report parity with how the metadata was actually established, rather than always reporting the end result behavior that the naming of the property might imply. 特定の依存関係プロパティでデータバインディングが許可されるかどうかIsDataBindingAllowedを判断するには、通常、代わりにをチェックする必要があります。To determine whether a given dependency property permits data binding, you should usually check IsDataBindingAllowed instead. IsDataBindingAllowedは、とReadOnly IsNotDataBindableの両方を1回の操作としてチェックし、予想される結果を生成するための便利な機能です。IsDataBindingAllowed is a convenience for checking both ReadOnly and IsNotDataBindable as a single operation, yielding the expected result.

PropertyMetadata派生クラスのプロパティは、通常、読み取り/書き込み可能としてオブジェクトモデルで定義されます。Properties on 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. ただし、 Register、、またはOverrideMetadataの呼び出しの一部としてメタAddOwnerデータが使用された後は、プロパティシステムによって、メタデータインスタンスとメタデータの詳細を伝達するプロパティが不変と見なされるようになります。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. このメタデータインスタンスのがIsSealed trueの後にこのプロパティを設定しようとすると、例外が発生します。Attempting to set this property after IsSealed is true on this metadata instance will raise an exception.

XAML テキストの使用XAML Text Usage

このクラスのメンバーは、通常、でXAMLXAMLは使用されません。Members of this class are not typically used in XAMLXAML.

適用対象

こちらもご覧ください