J'ai une vue qui a un seul TextBox
et un couple Button
s en dessous. Lorsque la fenêtre se charge, je veux que TextBox
de se concentrer.
Si je n'utilisais pas MVVM, je me contenterais d'appeler TextBox.Focus()
dans l'événement Loaded. Cependant, mon ViewModel ne connaît pas ma vue, alors comment puis-je accomplir ceci sans mettre du code dans le code de ma vue ?
EDIT : Après avoir lu les réponses j'ai décidé de mettre ce code dans la vue xaml
<DockPanel FocusManager.FocusedElement="{Binding ElementName=MessageTextBox}">
<TextBox Name="MessageTextBox" Text="{Binding Message}"/>
</DockPanel>
S'il s'agissait d'autre chose que de la mise au point initiale de la page, je recommanderais probablement la réponse de Jon Galloway, car elle peut être contrôlée à partir du ViewModel.