且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

从WPF中的代码设置验证错误模板

更新时间:2023-02-26 13:31:08

要在后面的代码中设置"Validation.HasError",您可以使用Validation.MarkInvalid方法

To set "Validation.HasError" in code behind you can use the Validation.MarkInvalid method

private void blockTextBox_PreviewLostKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e) 
{ 
    TextBox txtBox = sender as TextBox;
    //...
    BindingExpression bindingExpression =
        BindingOperations.GetBindingExpression(txtBox, TextBox.TextProperty);

    BindingExpressionBase bindingExpressionBase = 
        BindingOperations.GetBindingExpressionBase(txtBox, TextBox.TextProperty);

    ValidationError validationError =
        new ValidationError(new ExceptionValidationRule(), bindingExpression);

    Validation.MarkInvalid(bindingExpressionBase, validationError);
}

要取消设置您使用的值

Validation.ClearInvalid