我使用 ObservableValidator 来验证 int 值, 我已经在我的视图模型中实现了 ObservableValidator,
[ObservableProperty]
[NotifyDataErrorInfo]
[Required(ErrorMessage = "Number of Pins must be greater than 0")]
[Range(1, int.MaxValue, ErrorMessage = "Number of Pins must be greater than 0")]
private int createPartLibraryNumberOfPins;
它适用于大多数情况,但是当值为空时,在 GUI 中我可以看到错误,但在 ViewModel 中
HasErrors 属性未更新。
您能否建议一种在 ViewModel 中更新 HasErros 的方法。
问候 杰斯汀 CI
您应该尝试使用值转换器:
public class IntToStringConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, string language)
{
return value is int intValue
? intValue.ToString()
: string.Empty;
}
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
return value is string stringValue
? int.Parse(stringValue)
: 0;
}
}