WPF从source属性获取绑定的HasError

问题描述 投票:0回答:1

给定具有直接绑定和验证的TextBox:

<TextBox Content="{Binding ProblematicText}" ValidationRule="...">

和我的DataContext中的source属性:

public string ProblematicText
{
    // ...
}

在代码中,我必须使用属性'ProblematicText'的值,除非TextBox在其ValidationRule中有错误。

如何从代码中访问BindingExpression.HasError或实现此目的?

c# wpf validation binding
1个回答
1
投票

视图模型不知道(并且当然也不应该)视图中可能定义的任何验证规则。因此,如果在视图模型中定义了ProblematicText,则应在此类中执行验证。

摆脱验证规则并在视图模型中实现INotifyDataErrorInfo接口。以下是一些应该提供这个想法的链接。

WPF 4.5:使用INotifyDataErrorInfo接口验证数据:https://social.technet.microsoft.com/wiki/contents/articles/19490.wpf-4-5-validating-data-in-using-the-inotifydataerrorinfo-interface.aspx

How to use a validation between two datepicker?

© www.soinside.com 2019 - 2024. All rights reserved.