WPF combobox 输入内容自动打开下拉列表框

从可编辑的ComboBox获取TextChanged事件:

xmal:
<ComboBox Width="100" Name="SFRName" IsEditable="True"  IsTextSearchEnabled = "true" TextBoxBase.TextChanged="SFRName_TextChanged"/>
codeBehind:
SFRName.AddHandler(System.Windows.Controls.Primitives.TextBoxBase.TextChangedEvent, new RoutedEventHandler(SFRName_TextChanged));

当IsEditable设置为true时,ComboBox使用TextBox来显示和编辑文本。 TextBox的TextChanged事件是一个冒泡事件-表示它将在元素树中冒泡,因此我们可以在ComboBox本身上进行处理。

ComboBox本身不公开TextChanged事件,可以使用附加事件为其定义处理程序,因此,使用TextBoxBase.TextChanged语法.

另外IsTextSearchEnabled属性可以实现查询.

后置代码:

 private void SFRName_TextChanged(object sender, RoutedEventArgs e)
        {
            SFRName.IsDropDownOpen = true;
        }
posted @ 2022-06-24 08:50  羽小兮  阅读(1133)  评论(0)    收藏  举报