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