WPF AutoCompleteBox 中的驼峰式搜索

camel case search in WPF AutoCompleteBox

如何在 WPF AutoCompleteBox 中实现驼峰式搜索(用大写字母搜索单词)。 示例:考虑我的项目源包含 "Phone Number" 然后如果我们在文本框中键入 "pn" 它会建议 phone 下拉列表中的数字。

按照此处所述设置项目过滤器属性,底部有示例。

您可以像他们实现函数 SearchEmployees 一样实现您的逻辑。

只需添加一个检查字符串是否包含输入的大写字母 return true else return false.

https://msdn.microsoft.com/en-us/library/system.windows.controls.autocompletebox.itemfilter(v=vs.95).aspx

您可以将 FilterMode 设置为 custom 并将 ItemFilter 谓词设置为类似于以下内容的内容:

autoBox.FilterMode = AutoCompleteFilterMode.Custom;
autoBox.ItemFilter = new AutoCompleteFilterPredicate<object>((searchText, obj) => 
                    (obj as string).Where(x=>Char.IsUpper(x))
                                   .SequenceEqual(searchText.ToUpper()));