Binding.UpdateSourceTrigger 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定值,這個值會決定雙向系結之系結來源更新的時間。
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 對象的屬性值。 如果您嘗試這樣做,將會收到運行時例外狀況。