如何将文本框标记为默认焦点?
当窗口启动时,当用户按下某些内容时,它将写在此文本框上
谢谢
将根面板的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