47、MVVM设计模式详解

MVVM设计模式详解

1. MVVM基础交互及数据绑定问题处理

在MVVM设计模式中,当将控件属性绑定到ViewModel的属性时,绑定会监听ViewModel引发的 PropertyChanged ErrorsChanged 事件(前提是实现了 INotifyPropertyChanged INotifyDataErrorInfo 接口),这表明属性值或验证错误集合发生了变化,这是各层之间一种额外的隐藏交互。

当需要将视图中的控件(如 ListBox DataGrid )绑定到ViewModel中作为属性公开的集合,但在ViewModel实例化时该集合不可用时,可以按以下方法处理:
ViewModel应将集合公开为 ObservableCollection 类型的属性。实例化ViewModel时,应实例化一个空的 ObservableCollection ,供视图中的 ListBox 控件绑定。从服务器检索到集合后,应将其内容添加到空的 ObservableCollection 中(而不是替换它),视图会监听此集合的更改并相应更新。

此外,ViewModel通常还会公开一个名为 IsBusy 的布尔属性,用于指示ViewModel是否正在等待服务器响应。可以将该属性单向绑定到视图中的 BusyIndicator

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值