Silverlight 数据绑定:验证、格式化与转换全解析
1. 数据验证相关概述
在数据绑定过程中,控制状态改变时,事件处理程序中的操作会额外执行,但无法选择性禁用控制错误报告并接收 BindingValidationError 事件。不过,我们可以借助 Validation 类的静态方法随时检查绑定控件的数据有效性。
- Validation.GetHasErrors() :若控件验证失败,返回 true 。
- Validation.GetErrors() :返回一个或多个异常对象的集合。
这些方法提供了额外的灵活性,例如可以检查 HasErrors() ,若存在无效数据,拒绝让用户进入新步骤或执行特定功能;也可以使用 GetErrors() 在数据输入过程结束时汇总一系列错误,以便在一处提供详细的问题列表。
1.1 创建带内置验证的数据对象
早期,将验证逻辑构建到数据对象中的简单方法是为无效数据抛出异常,如 UnitCost 属性中的负数。但这种方式存在风险,可能会意外排除数据对象的合理使用场景。例如, UnitsInStock 属性值为 -10 可能在数据库中存在,但我们仍希望创建对应的 Product 对象以在应用中进行操作。
因此,许多开发者倾向于使用其他技术标记无效数据。在 Silverlight 中,数据
超级会员免费看
订阅专栏 解锁全文
13

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



