WPF windows application - Поиск - PullRequest
       2

WPF windows application - Поиск

0 голосов
/ 07 октября 2011

Срочная помощь - Я должен реализовать функцию поиска в приложении Windows WPF. В этом приложении у меня есть элемент управления TreeView, когда пользователь нажимает на любой TreeViewnode, соответствующий пользовательский элемент управления Wpf появится в правой части с данными.

Я хочу реализовать поиск. Пользователь может ввести любую вещь в текстовое поле «Поиск», и этот поисковый термин должен быть выделен в пользовательском элементе управления WPF с правами.

Как я могу это реализовать?

Есть ли способ показать искомый термин, не обращаясь к базе данных.

Ваша помощь очень ценится.

1 Ответ

0 голосов
/ 07 октября 2011

1) Для поиска любого текстового элемента в представлении WPF вы должны войти в логическое и визуальное дерево для получения детей.

2) Определите текстовые свойства каждого дочернего элемента, такие как .Text, .Content, .Header.

если найден предмет с текстовой информацией, используйте

    if (<value> is string && ((string)<value>).Contains(searchString))
    { 

       /// Implement step 3 and 4 below.
    } 

3) Используйте вызовы child.Focus () и child.BringIntoView (), если предназначен поиск по одному. В противном случае перейдите к шагу 4.

4) Используйте украшения, чтобы выделить такой предмет.

К сожалению, этот поиск придется выполнять с использованием Dispatcher.BeginInvoke() и может повредить представление, если существует множество визуальных элементов.

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