WPF如何自动聚焦在文本框上



如何将文本框标记为默认焦点?

当窗口启动时,当用户按下某些内容时,它将写在此文本框上

谢谢

将根面板的FocusManager.FocusedElement附加属性绑定到TextBox

<StackPanel FocusManager.FocusedElement="{Binding ElementName=tb}">
    <TextBox x:Name="tb" Background="Beige" Text="..."/>
</StackPanel>

如果您有单个焦点范围,或者TextBox所属的焦点范围当前具有键盘焦点,这将起作用。

您还可以使用 Keyboard.Focus 方法来设置键盘焦点:

public partial class MainWindow : Window, INotifyPropertyChanged
{
    public MainWindow()
    {
        InitializeComponent();
        Loaded += (s, e) => Keyboard.Focus(tb);
}
}

整个桌面上只能有一个具有键盘焦点的元素。有关详细信息,请参阅 MSDN

焦点概述:https://learn.microsoft.com/en-us/dotnet/framework/wpf/advanced/focus-overview

最新更新