【问题标题】:How to search in multiple ways using AutoCompleteBox如何使用 AutoCompleteBox 以多种方式进行搜索
【发布时间】:2012-06-17 01:47:46
【问题描述】:
我正在开发 WPF Windows 应用程序。我想在 AutoCompleteBox 中以多种方式搜索。例如:我想在同一个 AutocompleteBox 中按 Id 和 Name 搜索。
外汇:
我的表数据是
身份证名称
1 aaa
2BB
3cc
现在,我想搜索表格数据。我希望该用户能够通过 ID 和名称两种方式进行搜索。他输入 1 或 aaa 他得到了记录。
那么,我如何使用一个 AutoCompleteBox 按 ID 和名称搜索?
谢谢,
【问题讨论】:
标签:
wpf
autocomplete
wpftoolkit
autocompletebox
【解决方案1】:
您需要实现自定义过滤器。正如MSDN 所说,只需设置 ItemFilter 属性。它将允许您定义自定义方法来确定元素是否满足搜索条件。在您的示例中,您可能会实现类似这样的 Filter 方法...
private bool Filter(string search, object item)
{
var myItem = item as Item;
if (myItem == null)
return false;
// you would obviously check if you can parse search to number
if (myItem.ID == int.Parse(search) || myItem.ItemName.StartsWith(search))
{
return true;
}
return false;
}