Как выполнять поиск несколькими способами с помощью AutoCompleteBox

Я работаю над приложением WPF для Windows. Я хочу выполнять поиск несколькими способами в AutoCompleteBox. Например: я хочу искать по идентификатору и имени в том же AutocompleteBox.

Форекс: данные моей таблицы

Идентификационное имя

1 ааа

2 ббб

3 куб.см

Теперь я хочу найти данные таблицы. Я хочу, чтобы этот пользователь мог выполнять поиск как по идентификатору, так и по имени. либо он набирает 1, либо aaa получает запись.

Итак, как я могу искать по идентификатору и имени, используя один AutoCompleteBox?

Спасибо,


person R76    schedule 14.06.2012    source источник


Ответы (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;
    }
person dodsky    schedule 15.06.2012