日期:2014-05-17  浏览次数:21257 次

WPF绑定技术(解释与代码)
oneway
twoway
onewayToSource
oneTime
请问这4种绑定区别解释
展示DEMO
因为我写了一个继承INotifyPropertyChanged接口,然后把mode oneway和twoway没有区别

------解决方案--------------------

Default 使用绑定目标的默认 Mode 值。 每个依赖项属性的默认值都不同。 一般情况下,用户可编辑控件属性(例如文本框和复选框的属性)默认为双向绑定,而多数其他属性默认为单向绑定。 确定依赖项属性绑定在默认情况下是单向还是双向的编程方法是:使用 GetMetadata 获取属性的属性元数据,然后检查 BindsTwoWayByDefault 属性的布尔值。
OneTime 当应用程序启动或数据上下文更改时,更新绑定目标。 此绑定类型适用于以下情况:使用当前状态的快照适合使用的或数据状态实际为静态的数据。 如果要从源属性初始化具有某个值的目标属性,并且事先不知道数据上下文,则也可以使用此绑定类型。 此绑定类型实质上是 OneWay 绑定的简化形式,在源值不更改的情况下可以提供更好的性能。
OneWay 当绑定源(源)更改时,更新绑定目标(目标)属性。 此绑定类型适用于绑定的控件为隐式只读控件的情况。 例如,可以绑定到如股市代号之类的源。 或者,可能目标属性没有用于进行更改(例如表的数据绑定背景色)的控件接口。 如果无需监视目标属性的更改,则使用 OneWay 绑定模式可避免 TwoWay 绑定模式的系统开销。
OneWayToSource 当目标属性更改时更新源属性。
TwoWay 导致对源属性或目标属性的更改可自动更新对方。 此绑定类型适用于可编辑窗体或其他完全交互式 UI 方案。


无论是目标属性还是源属性,只要发生了更改,TwoWay 就会更新目标属性或源属性。
OneWay 仅当源属性发生更改时更新目标属性。
OneTime 仅当应用程序启动时或 DataContext 进行更改时更新目标属性。
OneWayToSource 在目标属性更改时更新源属性。
Default :使用目标属性的默认 Mode 值。

http://msdn.microsoft.com/zh-cn/library/system.windows.data.bindingmode.aspx
------解决方案--------------------
随便一个类 里面属性ID Name
继承INotifyPropertyChanged

用这个类创建一个集合list  然后绑定到下拉框   
 然后 一个文本框 一个按钮  点击按钮 new那个类  文本框的值给Name  ID随便写 然后list.add(新类)

oneway list多了数据  界面不变
twoway  list多了数据  界面也多了那条