次の方法で共有


Binding.UpdateSourceTrigger プロパティ

定義

双方向バインディングのバインディング ソース更新のタイミングを決定する値を取得または設定します。

public:
 property UpdateSourceTrigger UpdateSourceTrigger { UpdateSourceTrigger get(); void set(UpdateSourceTrigger value); };
UpdateSourceTrigger UpdateSourceTrigger();

void UpdateSourceTrigger(UpdateSourceTrigger value);
public UpdateSourceTrigger UpdateSourceTrigger { get; set; }
var updateSourceTrigger = binding.updateSourceTrigger;
binding.updateSourceTrigger = updateSourceTrigger;
Public Property UpdateSourceTrigger As UpdateSourceTrigger
<Binding UpdateSourceTrigger="updateSourceTriggerMemberName"/>

プロパティ値

UpdateSourceTrigger 値の 1 つ。 既定値は ですDefault。これはほとんどの依存関係プロパティのPropertyChanged更新動作として評価されますが、 プロパティの 場合とLostFocusTextBox.Text評価されます。

注釈

ほとんどの依存関係プロパティの既定の動作は です PropertyChanged。 ただし、 TextBox.Text プロパティの既定の動作は です LostFocusへのTextBox.Textバインドの場合は、次のように を変更UpdateSourceTriggerできます。

<TextBox Text="{x:Bind MyProperty, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />

ただし、NumberBox などの別のコントロールのコントロール テンプレートの には影響TextBoxしません。 たとえば、この UpdateSourceTrigger 設定は無効です。

<!-- This UpdateSourceTrigger setting has no effect. -->
<muxc:NumberBox Text="{x:Bind MyProperty, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>

UpdateSourceTrigger 動作のもう 1 つの選択肢は、値を に設定することですExplicit。 双方向バインディングの UpdateSourceTrigger 値が であるExplicit場合は、関連する BindingExpressionUpdateSource を明示的に呼び出して、変更されたターゲット値でデータ ソースを更新する必要があります。 GetBindingExpression を使用して、依存関係プロパティへの Binding が存在し、そのバインドが との双方向バインディングであるオブジェクトから BindingExpressionUpdateSourceTrigger="Explicit"取得します。

Binding オブジェクトのプロパティ値は、そのバインドがターゲット要素とターゲット プロパティにアタッチされた後は設定できません。 これを試みると、実行時例外が発生します。

適用対象

こちらもご覧ください