数据绑定技术全解析
1. 数据绑定基础
在数据绑定过程中,索引器会返回一个文本值,用于描述特定属性的任何验证错误。在当前实现里,仅返回列表中的第一个验证错误。若没有错误,则返回空字符串,以此告知数据绑定没有违反规则需要报告。
需要注意的是,调用 IDataErrorInfo 接口时并不会检查规则。规则会在属性更改或业务开发人员显式运行规则时进行检查。当调用 IDataErrorInfo 时,规则已经检查完毕,所以此实现只是简单返回预先计算的结果。这一点很重要,因为 IDataErrorInfo 接口会被频繁调用。每次数据绑定刷新用户界面(UI)或从对象接收 PropertyChanged 事件时,它都会遍历所有绑定属性,以查看它们是否有效。在一次用户交互的生命周期中, IDataErrorInfo 可能会被调用数十次甚至数百次。
2. 集合数据绑定
集合若要全面参与数据绑定,需要实现一组接口,这些接口相当复杂。不过,微软在 System.ComponentModel 命名空间中提供了 BindingList<T> 类,该类已经实现了所有必要的接口。为帮助你充分理解此类带来的好处,以下列出了若不使用该类则需手动实现的接口:
| 接口 | 描述 |
| ---- | ---- |
| IBindingList | 定义了列表更改时应触发的 ListChanged
超级会员免费看
订阅专栏 解锁全文
168万+

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



