WPF Binding的详细说明

绑定目标

后台属性

Text="{Binding Name}"

Name为后台的属性

控件属性

Text="{Binding ElementName=XXX,Path=A.B.C.D….}"

ElementName选择控件名称
Path是控件的属性(可以一直“点”,直到目标属性)

资源

Template="{StaticResource CheckBoxControlTemplate}"

CheckBoxControlTemplate为静态资源

绑定模式


<DataGridTextColumn Width="*" Header=" 组合规则名称 " Binding="{Binding ComRuleNameBinding,Mode=TwoWay,UpdateSourceTrigger =PropertyChanged}"/>

Mode

源与目标之间的赋值关系
OneWay:使用 OneWay 绑定时,每当源发生变化,数据就会从源流向目标
OneTime: 绑定也会将数据从源发送到目标;但是,仅当启动了应用程序或 DataContext 发生更改时才会如此操作,因此,它不会侦听源中的更改通知
OneWayToSource: 绑定会将数据从目标发送到源
TwoWay: 绑定会将源数据发送到目标,但如果目标属性的值发生变化,则会将它们发回给源
Default: binding的模式根据实际情况来定,如果是可编辑的就是TwoWay,只读的就是OneWay
参考下图:

WPF Binding的详细说明

UpdateSourceTrigger

更新的触发器,设置触发的时间
Explicit:源不会更新除非你手动来操作
LostFocus:一旦目标控件失去焦点,源就会被更新
PropertyChanged:一旦绑定的属性值改变,源会立即更新

分清概念

绑定可以绑定属性/字段
是否绑定成功,是否显示,由访问权限(public,protected,private,internal)等决定

只有属性可以双向绑定等,字段不可以
所以一般绑定属性