WPF MVVM-Fokusfeld beim Laden
Ich habe eine Ansicht, die eine einzige hatTextBox
und ein paarButton
s darunter. Wenn das Fenster geladen wird, möchte ich dasTextBox
fokus haben.
Wenn ich nicht MVVM benutze, würde ich einfach anrufenTextBox.Focus()
im Loaded-Ereignis. Mein ViewModel weiß jedoch nichts über meine Ansicht. Wie kann ich dies erreichen, ohne Code in den Code hinter meiner Ansicht einzufügen?
EDIT: Nachdem ich die Antworten gelesen hatte, entschloss ich mich, diesen Code in die Ansicht xaml einzufügen
<DockPanel FocusManager.FocusedElement="{Binding ElementName=MessageTextBox}">
<TextBox Name="MessageTextBox" Text="{Binding Message}"/>
</DockPanel>
Wenn dies etwas anderes als der anfängliche Seitenfokus wäre, würde ich Jon Galloways Antwort wahrscheinlich empfehlen, da sie über das ViewModel gesteuert werden kann.