У меня есть представление, у которого есть один TextBox
и пара Button
под ним. Когда окно загружается, я хочу, чтобы TextBox
имел фокус.
Если я не использовал MVVM, я бы просто вызвал TextBox.Focus()
в событии Loaded. Однако мой ViewModel не знает о моем представлении, так как я могу выполнить это, не введя код в кодовое имя моего представления?
EDIT: После прочтения ответов я решил поместить этот код в представление xaml
<DockPanel FocusManager.FocusedElement="{Binding ElementName=MessageTextBox}">
<TextBox Name="MessageTextBox" Text="{Binding Message}"/>
</DockPanel>
Если бы это было что-то другое, кроме начального фокуса страницы, я бы, вероятно, рекомендовал ответ Джона Галлоуэя, поскольку он может управляться из ViewModel.