Dav*_*ave 137
OneWay
:当您希望绑定属性更新用户界面时使用此选项.TwoWay
:这与行为OneWay
和OneWayToSource
组合具有相同的行为.绑定属性将更新用户界面,并且用户界面中的更改将更新绑定属性(您可以将其与a TextBox
或Checkbox
例如一起使用.)OneTime
:这具有相同的行为,OneWay
除了它只会更新一次用户界面.这应该是绑定的默认选择(由于各种原因我不在这里详细说明),如果你真的需要额外的功能,你应该只使用其他类型的绑定.OneWayToSource
:这是相反的OneWay
- 用户界面值更改更新绑定属性.如果未指定任何内容,则行为将取决于您使用的控件.
有关详细信息,请参阅BindingMode
MSDN上的枚举.
Jam*_*mes 31
绑定由两个实体组成:
目标必须是DependencyObject
(用于绑定工作),源可以是一个DependencyObject
或它应该有一些机制来模仿WPF绑定系统关于它被更改(INotifyPropetyChnaged
实现接口).
MVVM建议ViewModel项目不受任何View相关引用的影响,因此建议使用INotifyPropertyChanged
interface来使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 次 |
最近记录: |