Я очень хочу найти какой-то твердый (бесплатный, открытый исходный код или учебник/пример) код, чтобы сделать WPF Combobox делать autocomlete/autofilter по типу пользователя. Но все, что я пробовал до сих пор, имеет какую-то проблему...
-
Многократный многопользовательский автозаполнение WPF TextBox приблизился, но я не могу получить его работает с несколькими фильтрами (подробнее здесь).
-
Текстовое поле WPF для автообновления /combobox не работает для меня, потому что оно наследуется от UserControl и, таким образом, не поддерживает DataTemplates Мне нужно (для отображения/выбора значения одного свойства для объекта с несколькими свойствами).
-
Автоматическая фильтрация ComboBox в WPF не работала, потому что она, кажется, никогда не обнаружила часть EditableTextBox наследуемого ComboBox (через
(TextBox)base.GetTemplateChild("PART_EditableTextBox")
, который, кажется, всегда возвращает null). -
Создание фильтрованного ComboBox для WPF просто застревает в цикле обновления, а затем переполняет стек после ввода нескольких букв.
Другие вещи, которые я рассмотрел:
-
Я знаю, что У диспетчера Combobox Windows Forms есть AutoCompleteMode, и я мог встроить его в WPF, но я не могу себе представить, что он будет хорошо работать с моими привязками данных WPF.
-
Возможно, это слишком сложно, и мне нужно упростить, может быть, построив одномерное (одно свойство) ObservableCollections для ComboBoxen... Однако проблема применения нескольких фильтров (одна из которых задана другим управляющим значением, и один из того, что пользователь набирает) для нескольких элементов управления, использующих разные представления одного и того же DataSet, потребует смехотворного количества вычислительной мощности, чтобы уничтожать и перестраивать список каждый раз, когда пользователь набирает символ!
Итак... Я нахожусь в конце. Любые предложения?