在WPF中若让界面中某个TextBox
在界面显示时获取输入焦点,可以按如下方式配对XAML
文件。
<Window FocusManager.FocusedElement="{Binding ElementName=编辑控件名}">
<!--其他控件-->
</Window>
可编辑下拉列表控件(XAML中设置IsEditable=True
),若希望在界面显示时自动获取输入焦点却,无法比照TextBox
那样设置XAML文件,但可以在界面构造函数添加如下脚本实现可编辑下拉列表控件获取焦点功能。
//构造函数中添加
new Thread(() => {
Thread.Sleep(1 * 1000);
Dispatcher.Invoke(() =>
{
var comboBox = cmbUserName;
var textBox = (TextBox)comboBox.Template.FindName("PART_EditableTextBox", comboBox);
if (textBox != null)
{
textBox.Focus();
}
});
}).Start();