У меня есть ComboBox с привязкой Itemssource к ListViewCollection на виртуальной машине. ListViewCollection фильтрует ObservableCollection<ItemVM>
ItemVM имеет свойство DisplayText, которое будет отображаться в поле со списком.
Текст ComboBox привязан к свойству SearchString на виртуальной машине типа string, которое используется для фильтра ListCollectionView.
Я хочу, чтобы мой ItemVM был шаблонным, чтобы некоторые элементы отображались красным текстом на основе значений свойств в ItemVM.
У меня проблема в том, что я не могу одновременно использовать DisplayPathName и itemstemplate.
Itemstemplate обрабатывает тип ItemVM, но строка поиска является строкой. Это приводит к тому, что текст иногда является именем класса, а не фактическим значением.
Если бы я использовал строки вместо ItemVM, это сработало бы (но тогда у меня не было бы свойств, из которых можно было бы вызвать изменение цвета). Каково решение сделать поле со списком с возможностью поиска (отфильтрованным выпадающим списком), когда элементы не имеют строкового типа?
DisplayMemberPath="DisplayText"
наTextSearch.TextPath="DisplayText"
. Ссылайтесь на этот пост, вы можете оставитьIsTextSearchEnabled="False"
, чтобы применить собственный фильтр. - person Funk   schedule 25.05.2019