界面中用户输入的参数,有时候需要进行数据验证,若是输入格式不符合要求,我们希望在输入的时候,界面中就可以有所体现。
以下是Demo,View中,需要新增:ValidatesOnDataErrors=True
<TextBox Text="{Binding LevelId,
ValidatesOnDataErrors=True,
UpdateSourceTrigger=PropertyChanged,
NotifyOnValidationError=True}"></TextBox>
ViewModel中,需要实现IDataErrorInfo接口,
#region WPF验证
public string Error => string.Empty;
public string this[string columnName]
{
get
{
if (columnName == nameof(LevelId) && LevelId < 1)
{
return "必须输入大于0的整数.";
}
//其他属性的验证,都可以写在这里。
//if (columnName == nameof(LevelId) && LevelId < 1)
//{
// return "必须输入大于0的整数.";
//}
return null;
}
}
#endregion
最后的实现效果: