Похоже, что TextSearch только ищет детей выбранного TreeviewItem по умолчанию. Я бы хотел, чтобы он вел себя как проводник Windows, поскольку если ни один ребенок не соответствует, он должен проверить siblings для матчей.WPF TreeView текстовый поиск: siblings?
Например, если я выбираю TreeViewItem с заголовком «B» и введите «C» на клавиатуре, то я хотел бы TreeViewItem с заголовком C должен быть выбран:
<TreeView IsTextSearchEnabled="True">
<TreeViewItem IsTextSearchEnabled="True" Header="A"/>
<TreeViewItem IsTextSearchEnabled="True" Header="B">
<TreeViewItem IsTextSearchEnabled="True" Header="D"/>
<TreeViewItem IsTextSearchEnabled="True" Header="E"/>
<TreeViewItem IsTextSearchEnabled="True" Header="F"/>
</TreeViewItem>
<TreeViewItem IsTextSearchEnabled="True" Header="C"/>
</TreeView>
Любые идеи ?
EDIT: Я хотел бы продолжить использование встроенной функции TextSearch, если это возможно.
Похоже, что это общая проблема , Для справки: http://stackoverflow.com/questions/11530643/treeview-search – gcarvelli
@ killermonkey50 Спасибо за ответ, но ссылка, которую вы опубликовали, относится к пользователю, пытающемуся выполнить выборочный поиск через TreeView в VB, в то время как мой вопрос связан к встроенной функции TextSearch в WPF. Я отредактирую свой вопрос, чтобы указать это напрямую. – MoonBoots89
поведение в древовидной структуре проводника Windows отличается, пользователь может ввести любую букву *** в любое время ***, чтобы переместить выбранный элемент в первый сопоставленный элемент. Хотя для поведения, которое вы хотите (с помощью 'IsTextSearchEnabled'), соответствующий элемент работает только *** один раз ***, после того, как выбранный выбранный элемент выбран, ввод другой буквы не будет соответствовать ни одному элементу. Кстати, изменение поведения какого-либо встроенного свойства, похожего на это, кажется невозможным, просто создайте собственное пользовательское прикрепленное свойство. –