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 值。 預設值為 Default,它會評估為 PropertyChanged 大部分相依性屬性的更新行為,但會評估為 LostFocus 屬性的 TextBox.Text

備註

大部分相依性屬性的預設行為是 PropertyChanged。 不過, TextBox.Text 屬性的預設行為是 LostFocus。 若要將 系結TextBox.Text,您可以變更 UpdateSourceTrigger 如下:

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

不過,它不會對另一 TextBox 個控件的控件範本有任何影響,例如 NumberBox。 例如,此 UpdateSourceTrigger 設定沒有任何作用。

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

您對於 UpdateSourceTrigger 行為的另一個選項是將值設定為 Explicit。 當雙向系結的 UpdateSourceTrigger 值為 Explicit時,您必須在相關的 BindingExpression 上明確呼叫 UpdateSource,讓變更的目標值更新數據源。 使用 GetBindingExpression 從具有 Binding 至相依性屬性的物件取得 BindingExpression,而該系結是與 UpdateSourceTrigger="Explicit"的雙向系結。

系結附加至目標項目和目標屬性之後,就無法設定 Binding 對象的屬性值。 如果您嘗試這樣做,將會收到運行時例外狀況。

適用於

另請參閱