我在WPF中使用ComboBox
。 ComboBox
IsEditable属性设置为True IsEditable="True"
。 ComboBox
有几个项目。当我输入时,它显示ComboBox
文本中的项目,但不显示DropDown列表。
XAML代码:
<ComboBox Name="uiComboBox" IsEditable="True">
<ComboBoxItem>One1</ComboBoxItem>
<ComboBoxItem>One2</ComboBoxItem>
<ComboBoxItem>One3</ComboBoxItem>
<ComboBoxItem>One4</ComboBoxItem>
<ComboBoxItem>Two</ComboBoxItem>
<ComboBoxItem>Three</ComboBoxItem>
</ComboBox>
当我输入“o”显示以“o”开头的第一个项目时,在这种情况下它是“One1”
当我输入“o”时,它应该显示DropDown列表,其中包含以“o”开头的项目,在这种情况下有4个项目,您可以在下面的图片中看到。
经过研究我发现:
private void ComboBox_KeyUp(object sender, KeyEventArgs e)
{
uiComboBox.IsDropDownOpen = true;
}
显示所有不以字母i键入的项目。 有任何想法,或者可能是另一种控制用于这种情况吗?
答案 0 :(得分:1)
您是否听说过“滚动自己”一词?这就是你需要做的事情,或者我确信那里的某个人想要同样的事情,网上应该有大量的信息。
看看这些:
Filter ComboBox items based on TextBox text
Dynamic filter of WPF combobox based on text input
我希望有所帮助!