WPF MVVM: TextBox and default Button binding does update too late

Posted by Sam on Stack Overflow See other posts from Stack Overflow or by Sam
Published on 2010-04-14T14:27:18Z Indexed on 2010/04/14 14:33 UTC
Read the original article Hit count: 894

Filed under:
|
|

I've got a simple WPF dialog with these two controls:

<TextBox Text="{Binding MyText}"/>
<Button Command="{Binding MyCommand}" IsDefault="True"/>

Now, when I enter some text in the TextBox and click the button using the mouse, everything works like expected: the TextBox will set MyText and MyCommand is called.

But when I enter some text and hit enter to "click" the default button, it does not work. Since on hitting enter the focus does not leave the TextBox, the binding will not be refresh MyText. So when MyCommand is called (which works), MyText will contain old data.

How do I fix this in MVVM? In classic code-behind I probably just would call "MyButton.Focus()" in the MyCommand handler, but in MVVM the MyCommand handler does know nothing about the button.

So what now`?

© Stack Overflow or respective owner

Related posts about mvvm

Related posts about wpf