相关疑难解决方法(0)

如何输入任何内容时如何禁止验证

我使用WPF数据绑定实现IDataErrorInfo接口的实体.一般来说,我的代码如下所示:

商业实体:

public class Person : IDataErrorInfo 
{
  public string Name { get; set;}

  string IDataErrorInfo.this[string columnName]
  {
    if (columnName=="Name" && string.IsNullOrEmpty(Name))
      return "Name is not entered";
    return string.Empty;
  }  
}
Run Code Online (Sandbox Code Playgroud)

Xaml文件:

<TextBox Text="{Binding Path=Name, Mode=TwoWay, ValidatesOnDataErrors=true}" />
Run Code Online (Sandbox Code Playgroud)

当用户点击"创建新人"后执行以下代码:

DataContext = new Person();
Run Code Online (Sandbox Code Playgroud)

问题是,当刚创建person时,其名称为空,WPF会立即绘制红框并显示错误消息.我希望它仅在名称已编辑且焦点丢失时显示错误.有人知道这样做的方法吗?

.net data-binding validation wpf

31
推荐指数
2
解决办法
7133
查看次数

标签 统计

.net ×1

data-binding ×1

validation ×1

wpf ×1