WPF 可编辑组合框文本搜索行为
Posted
技术标签:
【中文标题】WPF 可编辑组合框文本搜索行为【英文标题】:WPF Editable ComboBox Text Search Behavior 【发布时间】:2011-01-25 09:13:59 【问题描述】:我有一个 ComboBox,它在 ItemsSource 上绑定了一个实体 ObservableCollection。像这样:
Key Desc1 Desc2
C0001 myDesc myDesc
D0001 myDesc myDesc
A0001 myDesc MyDesc
组合框是这样定义的:
<ComboBox
IsEditable=True
DisplayMemberPath="Key"
SelectedValuePath="Key"
ItemsSource="Binding Path=MyList, Mode=OneWay" />
现在我有这个问题...
如果我在组合框的空可编辑文本框中键入一个字符,则匹配“以”键入字符“开头”的第一个元素。所以,如果我键入“C”,则选定项是元素“C0001”......我会避免这种情况!
我会使用不同的搜索逻辑,根据输入的全文找到选定项。这样:
Text Typed SelectedItem
C null
C0 null
C00 null
C000 null
C0001 [C0001, myDesc, myDesc] OK!
有可能吗?我该怎么办?
【问题讨论】:
【参考方案1】:对于 Windows 中的 Combo,这种行为一直是这样的。如果您想做这样的事情,最好使用搜索字段和可选择的结果列表。
另外,TextBox 确实支持不同的自动完成建议模式,但我想你也需要一个下拉菜单。(不,它不支持)。
post 尝试将两者结合起来,非常简洁。
【讨论】:
问题是关于 WPF 而不是 Winforms! 哦,是的,WPF 的文本框没有这些东西……抱歉,现在还早! 没有办法为选定项目扩展基于 ComboBox 的覆盖搜索逻辑?以上是关于WPF 可编辑组合框文本搜索行为的主要内容,如果未能解决你的问题,请参考以下文章
具有来自 itemsource 或用户输入的选定值(路径)的可编辑组合框
用于 Enter 键的 Java 可编辑 JCombobox Keylistener 事件