FrameworkPropertyMetadata.BindsTwoWayByDefault FrameworkPropertyMetadata.BindsTwoWayByDefault FrameworkPropertyMetadata.BindsTwoWayByDefault FrameworkPropertyMetadata.BindsTwoWayByDefault Property


プロパティが既定で双方向をバインドするかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether the property binds two-way by default.

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


既定でこのメタデータが存在する依存関係プロパティが双方向をバインドする場合は、true。それ以外の場合は、falsetrue if the dependency property on which this metadata exists binds two-way by default; 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.

次の例では、プロパティ フィールドをさまざまな依存関係から、既定のメタデータを取得、さまざまな値をクエリFrameworkPropertyMetadataプロパティを情報を使用して、「メタデータ ブラウザー」を実装するためにテーブルを作成するとします。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);
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";
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")


このプロパティがない場合にtrue、バインドの更新プログラムがの既定の動作に基づいて、既定で一方向、Bindingコンス トラクターまたはそれと同等XAMLXAML構文。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 XAMLXAML syntax.

既存の要素では、このプロパティを通常検索はtrue両方の状態をレポートし、ユーザーの操作によって変更することなどは、依存関係プロパティのメタデータでSelector.IsSelectedします。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. 任意のバインディング インスタンスでこのプロパティを設定できるローカルに設定された、Modeバインディングのプロパティと、この既定の設定を変更します。Any binding set to this property on an instance can locally set the Mode property of the binding and change this default.

プロパティをいずれかのクラスの派生PropertyMetadata通常は読み取り/書き込みとしてオブジェクト モデルで定義します。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. ただし後の呼び出しの一部として、メタデータが消費されるRegisterAddOwner、またはOverrideMetadata、プロパティ システムはそのメタデータ インスタンスを封印およびメタデータの詳細を伝えるためのプロパティを変更できないと見なされますようになりました。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. 後は、このプロパティを設定しようとしています。IsSealedtrueでこのメタデータ インスタンスで例外が発生します。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.