ich einen einfachen WPF-Dialog mit diesen beiden Kontrollen habe:WPF MVVM: TextBox und Button-Standard Bindung tut Update zu spät
<TextBox Text="{Binding MyText}"/>
<Button Command="{Binding MyCommand}" IsDefault="True"/>
Nun, wenn ich einen Text in dem Textfeld ein und klicken Sie auf die Schaltfläche mit Die Maus funktioniert wie erwartet: Die TextBox setzt MyText und MyCommand wird aufgerufen.
Aber wenn ich einen Text eingeben und drücken Sie die Eingabetaste, um auf die Standardschaltfläche "klicken", es funktioniert nicht. Da beim Klicken auf den Fokus die TextBox nicht verlassen wird, wird die Bindung nicht aktualisiert MyText. Wenn MyCommand aufgerufen wird (was funktioniert), enthält MyText alte Daten.
Wie behebe ich das in MVVM? Im klassischen Code-Behind würde ich wahrscheinlich "MyButton.Focus()" im MyCommand-Handler aufrufen, aber in MVVM weiß der MyCommand-Handler nichts über die Schaltfläche.
Also was jetzt?
Also müsste ich das zu jeder Bindung hinzufügen (da es immer Schaltflächen gibt, auf die meine Tastaturkürzel zugreifen können)? – Sam