Matt
Matt

Reputation: 6422

Forcing Binding Validation in WPF

I want to validate all the TextBox controls on the page load event. I'm aware of one method to do this. Here's what I used.

BindingExpression bx = myTextBox.GetBindingExpression( TextBox.TextProperty );

if(bx != null)
    bx.UpdateSource();

I have a custom ValidationRule that checks if a field is required or not for some of my TextBoxes. Now if I run this code on the page load, it doesn't work. However, if I put this code into a button click event instead, then it works!

How do I validate my controls on a control load?

Upvotes: 1

Views: 705

Answers (1)

mdm20
mdm20

Reputation: 4563

Try putting the code inside a Dispatcher.Begininvoke

    Dispatcher.BeginInvoke(new Action(() => {
          BindingExpression bx = myTextBox.GetBindingExpression(TextBox.TextProperty);

          if (bx != null)
            bx.UpdateSource();
    }));

Upvotes: 1

Related Questions