【发布时间】:2015-09-22 00:49:52
【问题描述】:
是否可以强制控件引发 Validation.Error 事件,即使绑定没有指定 NotifyOnValidationError?
或者
当红色验证边框显示或隐藏时,是否有另一个事件总是引发?
说明:
我有一个附加行为,它在 Validation.GetHasError 和我的 ViewModel 的属性之间建立了绑定。这是为了在视图模型端知道何时发生了视图端验证。
示例:具有 int 属性的视图模型
class ViewModel
{
int Value { get; set; }
}
一个文本框:
<TextBox Text="{Binding Value}" Validation.Error="Validation_Handler" />
示例我想知道用户何时输入了一个不是整数的值。
修改所有视图模型属性以具有 string 类型并在 ViewModel 上完成所有验证是不可行的,因为某些 ViewModel 属性是在运行时动态生成的,我想保留默认转换器行为.
【问题讨论】:
-
ValidationRules 可以帮助您实现验证。检查此链接miteshsureja.blogspot.in/2011/08/validation-rules-in-wpf.html
-
问题是转换失败时验证规则不会触发
标签: c# wpf validation mvvm