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. -->
<NumberBox Text="{x:Bind MyProperty, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
您對於 UpdateSourceTrigger 行為的另一個選項是將值設定為 Explicit
。 當雙向系結的 UpdateSourceTrigger 值為 Explicit
時,您必須在相關的 BindingExpression 上明確呼叫 UpdateSource,才能讓變更的目標值更新數據源。 使用 FrameworkElement.GetBindingExpression 從系結存在相依性屬性的物件取得 BindingExpression,而該系結是與 UpdateSourceTrigger="Explicit"
的雙向系結。
在系結附加至目標元素和目標屬性之後,您無法設定 Binding 物件的屬性值。 如果您嘗試這樣做,將會收到運行時間例外狀況。