MVVM设计模式详解
1. MVVM基础交互及数据绑定问题处理
在MVVM设计模式中,当将控件属性绑定到ViewModel的属性时,绑定会监听ViewModel引发的 PropertyChanged 和 ErrorsChanged 事件(前提是实现了 INotifyPropertyChanged 和 INotifyDataErrorInfo 接口),这表明属性值或验证错误集合发生了变化,这是各层之间一种额外的隐藏交互。
当需要将视图中的控件(如 ListBox 或 DataGrid )绑定到ViewModel中作为属性公开的集合,但在ViewModel实例化时该集合不可用时,可以按以下方法处理:
ViewModel应将集合公开为 ObservableCollection 类型的属性。实例化ViewModel时,应实例化一个空的 ObservableCollection ,供视图中的 ListBox 控件绑定。从服务器检索到集合后,应将其内容添加到空的 ObservableCollection 中(而不是替换它),视图会监听此集合的更改并相应更新。
此外,ViewModel通常还会公开一个名为 IsBusy 的布尔属性,用于指示ViewModel是否正在等待服务器响应。可以将该属性单向绑定到视图中的 BusyIndicator
超级会员免费看
订阅专栏 解锁全文
1963

被折叠的 条评论
为什么被折叠?



