WPF中IsEditable=True的ComboBox自动获取焦点方法

在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();
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章