1.后台代码实现绑定
Binding binding = new Binding();
binding.Path = new System.Windows.PropertyPath(_zYXTabList[i].Name);
//binding.Mode = BindingMode.TwoWay;
//binding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
//gvc.SetBinding(TextBlock.TextProperty, binding);
gvc.Width = 80;
gvc.DataMemberBinding = binding;
2.Binding类的时候有4中绑定模式
TwoWay | 导致对源属性或目标属性的更改可自动更新对方。此绑定类型适用于可编辑窗体或其他完全交互式 UI 方案。 |
OneWay | 当绑定源(源)更改时,更新绑定目标(目标)属性。如果要绑定的控件为隐式只读控件,则适用此绑定类型。例如,可以绑定到如股市代号之类的源。或者,可能目标属性没有用于进行更改(例如表的数据绑定背景色)的控件接口。如果不需要监视目标属性的更改,则使用 OneWay 绑定模式可避免 TwoWay 绑定模式的系统开销。 |
OneTime | 当应用程序启动或数据上下文更改时,更新绑定目标。此绑定类型适用于以下情况:使用当前状态的快照适合使用的或数据状态实际为静态的数据。如果要从源属性初始化具有某个值的目标属性,并且事先不知道数据上下文,则也可以使用此绑定类型。实质上,这是 OneWay 绑定的较简单的形式,它在不更改源值的情况下可提供更好的性能。 |
OneWayToSource | 当目标属性更改时更新源属性。 |
Default | 使用绑定目标的默认 Mode 值。每个依赖项属性的默认值都不同。一般情况下,用户可编辑控件属性(例如文本框和复选框的属性)默认为双向绑定,而多数其他属性默认为单向绑定。确定依赖项属性绑定在默认情况下是单向还是双向的编程方法是:使用 GetMetadata 来获取属性的属性元数据,然后检查 BindsTwoWayByDefault 属性的布尔值。 |
使用 Mode 属性指定绑定的方向。以下枚举列表列出了可供绑定更新的选项:
-
无论是目标属性还是源属性,只要发生了更改,TwoWay 就会更新目标属性或源属性。
-
OneWay 仅当源属性发生更改时更新目标属性。
-
OneTime 仅当应用程序启动时或 DataContext 进行更改时更新目标属性。
-
O