WPF 高级数据模板与绑定:MVVM 模式及高级绑定能力解析
1. 验证与 MVVM 模式概述
在数据绑定过程中,验证是必不可少的环节。当出现异常时,我们可以从抛出的异常中获取消息,然后将结果(成功或失败)和消息封装到ValidationResult对象中。与转换器的使用方式不同,我们无需将该类的实例作为资源创建,可直接在绑定的验证规则中引用它。
以下是一个简单的示例,展示了如何在TextBox中使用自定义的验证规则:
<TextBox Margin="0,0,10,0" > <TextBox.Text> <Binding Path="Uri"> <Binding.ValidationRules> <local:UriRule/> </Binding.ValidationRules> </Binding> </TextBox.Text> </TextBox>在上述代码中,local:UriRule是自定义的验证规则。当我们运行程序并输入无效的 URI 时,会触发验证错误。此外,我们还可以组合多个验证器,例如同时使用UriRule和ExceptionValidationRule: