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 对象的属性值。 如果尝试此操作,将收到运行时异常。