Как выделить результаты поиска в древовидной структуре WPF? - PullRequest
0 голосов
/ 13 апреля 2010

Я занимаюсь разработкой приложения ( Файловая система базы данных ). Я использую WPF treeview в его графическом интерфейсе. Элементы дерева непосредственно извлекаются из базы данных моих приложений.

Я хочу искать и выделять элементы древовидной структуры при наборе. Чтобы лучше понять вопрос, рассмотрите результаты поиска по ключевым словам, показанные в браузерах.


альтернативный текст http://img100.imageshack.us/img100/4168/chromel.jpg

Как мне добиться этого в моем контексте?

Ответы [ 2 ]

2 голосов
/ 14 апреля 2010

Используйте модель представления, оберните все элементы, которые появляются в вашем дереве. Дайте им всем свойство IsHighlighted. Выполните поиск по элементам модели представления, если они соответствуют критерию, установите для свойства IsHighlighted значение true. Используйте триггер для вашего стиля дерева, связанный со свойством IsHighlighted, который обновляет цвет фона.

Древовидное представление может иметь только один выбранный элемент одновременно (оно не поддерживает множественный выбор, например представление списка). Поэтому, если вы хотите иметь более одного результата поиска, установки SelectedItem древовидного представления будет недостаточно. Использование модели представления, которая имеет свойства, такие как IsExpanded, также может позволить вам сделать некоторые интересные вещи. например если узел «найден», вы можете развернуть все остальные узлы над ним, чтобы сделать его видимым.

2 голосов
/ 13 апреля 2010

Вы можете сделать это с помощью комбинации события KeyDown на любом элементе управления, в который пользователь вводит.линии

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...