Binding.Mode 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置一个值,该值指示绑定的数据流方向。
public:
property BindingMode Mode { BindingMode get(); void set(BindingMode value); };
BindingMode Mode();
void Mode(BindingMode value);
public BindingMode Mode { get; set; }
var bindingMode = binding.mode;
binding.mode = bindingMode;
Public Property Mode As BindingMode
<Binding Mode="bindingModeMemberName"/>
属性值
BindingMode 值之一。 默认值为 OneWay:源更新目标,但对目标值的更改不会更新源。
示例
此示例演示如何在 XAML 中设置绑定模式。
<TextBox x:Name="MyTextBox" Text="Text" Foreground="{Binding Brush1, Mode=OneWay}"/>
注解
对于 OneWay 和 TwoWay 绑定,对源的动态更改不会自动传播到目标,而无需从源提供一些支持。 必须在源对象上实现 INotifyPropertyChanged 接口,以便源可以通过绑定引擎侦听的事件报告更改。 对于 C# 或 Microsoft Visual Basic,请实现 System.ComponentModel.INotifyPropertyChanged。 对于 (C++/CX) 的 Visual C++ 组件扩展,请实现 Windows::UI::Xaml::D ata::INotifyPropertyChanged。
对于 TwoWay 绑定,对目标的更改会自动传播到源,除非绑定目标是 TextBox.Text 属性。 在这种情况下,仅当 TextBox 失去焦点时才会进行更新。 此外,还可以将 TwoWay 绑定上的 UpdateSourceTrigger 设置为 Explicit,在这种情况下,可以通过调用 UpdateSource 显式控制对源的更新。
对于 OneTime 和 OneWay 绑定,调用 SetValue 会自动更改目标值并删除绑定。
在绑定已附加到目标元素和目标属性之后,无法设置 Binding 对象的属性值。 如果尝试此操作,将收到运行时异常。