Dav*_*ave 137
OneWay:当您希望绑定属性更新用户界面时使用此选项.TwoWay:这与行为OneWay和OneWayToSource组合具有相同的行为.绑定属性将更新用户界面,并且用户界面中的更改将更新绑定属性(您可以将其与a TextBox或Checkbox例如一起使用.)OneTime:这具有相同的行为,OneWay除了它只会更新一次用户界面.这应该是绑定的默认选择(由于各种原因我不在这里详细说明),如果你真的需要额外的功能,你应该只使用其他类型的绑定.OneWayToSource:这是相反的OneWay- 用户界面值更改更新绑定属性.如果未指定任何内容,则行为将取决于您使用的控件.
有关详细信息,请参阅BindingModeMSDN上的枚举.
Jam*_*mes 31
绑定由两个实体组成:
目标必须是DependencyObject(用于绑定工作),源可以是一个DependencyObject或它应该有一些机制来模仿WPF绑定系统关于它被更改(INotifyPropetyChnaged实现接口).
MVVM建议ViewModel项目不受任何View相关引用的影响,因此建议使用INotifyPropertyChangedinterface来使WPF绑定听到Source对象.绑定发生在Source的属性和Target的属性之间(必须是a DependencyProperty).例如TextProperty,TextBox类的类是DataBound到(例如)UserName视图模型的属性.WPF绑定提供了四种类型的绑定.请记住,Binding在UI线程上运行,除非您另行指定运行.
UserName属性,它将反映在文本框中.这是中间成本,因为绑定系统仅监视Source的变化.TextProperty和UserName属性将保持同步,如果一个变化将更新对方.这是最昂贵的,因为绑定系统必须观察双方的变化.TextProperty该UserName属性,则该属性将占用更改的值.这又是中间成本,因为绑定系统仅监视Target的变化.Label,TextBlock等等.如果您没有提及任何内容,则每个目标属性都具有与其自身关联的默认绑定模式.例如TextProperty,a的TextBox默认绑定模式为TwoWay.对于它来说TextProperty,TextBlock这是一种方式.
建议您选择正确的模式,因为它可以帮助您减少应用程序延迟,尤其是在UI中有大量控件的情况下.
欲了解更多关于MVVM 这里是我写的一篇文章.
| 归档时间: |
|
| 查看次数: |
51204 次 |
| 最近记录: |