Search code examples
wpftextboxfocus

Set the focus on a TextBox in WPF XAML


Despite some posts on this forum and others I cannot find something that tells me how to set the focus on a TextBox.

I have a UserControl with many Labels and TextBoxes. When the Form is loaded, I want a particular TextBox to have the focus.

I have set the TabIndex but that didn't seem to work.

Any suggestions?


Solution

  • You can use the FocusManager.FocusedElement attached property for this purpose. Here's a piece of code that set the focus to TxtB by default.

    <StackPanel Orientation="Vertical" FocusManager.FocusedElement="{Binding ElementName=TxtB}">
        <TextBox x:Name="TxtA" Text="A" />
        <TextBox x:Name="TxtB" Text="B" />
    </StackPanel>
    

    You can also use TxtB.Focus() in your code-behind if you don't want to do this in XAML.