在ViewModel中设置ValidationError by Code

本文关键字:by Code ValidationError 设置 ViewModel | 更新日期: 2023-09-27 18:07:10

我遇到了Set a ValidationError by Code, by Christian Mosers

ValidationError validationError = new ValidationError(regexValidationRule, 
    textBox.GetBindingExpression(TextBox.TextProperty));
validationError.ErrorContent = "This is not a valid e-mail address";
Validation.MarkInvalid(textBox.GetBindingExpression(TextBox.TextProperty), 
    validationError);

我如何在我的ViewModel中使用这个?

在ViewModel中设置ValidationError by Code

还有其他方法可以从VM中获取错误,例如通过实现IDataErrorInfo或通过在setter中抛出异常(然后绑定需要在异常时进行验证)。