如何使用AutoCompleteBox以多种方式进行搜索

时间:2012-06-14 03:06:42

标签: wpf autocomplete wpftoolkit autocompletebox

我正在研究WPF Windows应用程序。我想在AutoCompleteBox中以多种方式进行搜索。例如:我想在相同的AutocompleteBox中按Id和Name搜索。

外汇: 我的表数据是

ID名称

1 aaa

2 bbb

3 ccc

现在,我想搜索表格数据。我希望用户能够通过两种方式进行搜索,即Id和Name。无论是输入 1 还是 aaa ,他都会获得记录。

那么,如何使用一个AutoCompleteBox搜索“按ID和名称”?

谢谢,

1 个答案:

答案 0 :(得分:0)

您需要实施自定义过滤器。由于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;
    }