Мне не терпится найти какой-нибудь твердый (бесплатный, с открытым исходным кодом или учебник / пример) код, чтобы WPB Combobox выполнял автозаполнение / автофильтр при вводе пользователем.Но все, что я пробовал до сих пор, имело какую-то проблему ...
Многоразовое автозаполнение WPF TextBox подошло близко, но я не могу его получить работать с более чем одним фильтром (подробнее здесь ).
Текстовое поле автозаполнения WPF / выпадающий список не работаетэто не работает для меня, потому что он наследуется от UserControl и, следовательно, не поддерживает необходимые мне шаблоны данных (для отображения / выбора значения одного свойства для объекта с несколькими свойствами).
Автоматическая фильтрация ComboBox в WPF не сработала, потому что он, кажется, никогда не находит часть EditableTextBox унаследованного кода ComboBox (через (TextBox)base.GetTemplateChild("PART_EditableTextBox"), который, кажется, всегда возвращает ноль).
(TextBox)base.GetTemplateChild("PART_EditableTextBox")
Создание фильтрованного ComboBox для WPF просто застревает в цикле обновления, а затем переполняет стек после того, как я наберу всего несколько букв.
Другие вещи, которые я рассмотрел:
Я знаючто элемент управления Combobox в Windows Forms имеет AutoCompleteMode , и я могу встроить его в WPF , но я не могу себе представить, что он будет очень хорошо работать с моими привязками данных WPF.
Возможно, это слишком сложно, и мне нужно упростить, может быть, путем создания одномерных (с одним свойством) ObservableCollections для ComboBoxen ... Однако, проблема применения нескольких фильтров (один устанавливается другим элементом управлениязначение, и одно из того, что печатает пользователь) для нескольких элементов управления, использующих разные представления одного и того же DataSet, потребует смехотворной вычислительной мощности для уничтожения и перестройки списка каждый раз, когда пользователь вводит символ!
Итак ... Я в конце.Есть предложения?
Если к вашему Combobox подключен какой-то источник данных, просто сделайте
1-IsTextSearchEnabled = true. 2-IsEditable = true.
, и вы можете идти
Попробуйте это: http://blogs.windowsclient.net/dragonz/archive/2010/02/23/autocomplete-textbox-control-for-wpf.aspx