代码之家  ›  专栏  ›  技术社区  ›  Koynov

文本框数据绑定验证

  •  0
  • Koynov  · 技术社区  · 16 年前

    *是否可以在不访问数据源的情况下获取验证错误(由绑定源通过IDataErrorInfo或InotifyDataErrorInfo生成)**而不访问数据源*?

    关键是获取将要显示的错误消息。

    提前谢谢。

    编辑:“不访问数据源”意味着我不想通过数据源上实现IDataErrorInfo接口的属性获取错误消息。

    2 回复  |  直到 16 年前
        1
  •  2
  •   Andreas Krebs    16 年前

    不知道“不访问数据源”是什么意思,但也可以通过绑定

    {Binding RelativeSource={RelativeSource Self},Path=(Validation.Errors)[0].ErrorContent}
    

    请注意,如果没有错误,这将引发异常。因此,根据您要执行的操作,检查“validation.hasErrors”属性是否有错误。

    也检查 this example 如何正确操作:

        2
  •  1
  •   MagicMax    16 年前

    “不访问数据源”意味着您可以看到在属于业务类的属性的集合…部分中创建的验证错误。例如,我们有个人课:

    public class Person
    {
    string firstName;
    public string FirstName
    {
    get{return firstName;}
    set
    {
    if (String.IsNullOrEmpty(value))
    throw new Exception("First name should be provided!");
    firstName = value;
    }
    }
    }
    

    像那样的