Гость
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / TreeView с встроенным поиском / 7 сообщений из 7, страница 1 из 1
10.01.2012, 00:45
    #37606977
sergiy_s
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView с встроенным поиском
Вот сделал контрол.
Зацените http://habrahabr.ru/blogs/net/135274/
Больше интересует мнение о коде.
...
Рейтинг: 0 / 0
11.01.2012, 03:24
    #37608580
Руки-крюки
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView с встроенным поиском
sergiy_s,
авторНе очень красиво иметь бизнес объекту IsSelected и IsExpanded.

Вполне нормально.
...
Рейтинг: 0 / 0
11.01.2012, 12:57
    #37609098
sergiy_s
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView с встроенным поиском
ну как бы
Есть концепция MVVM
Есть люди которые ее придерживаются ВОТ ИМ это И ОБЪЯСНИТЕ .

А с другой стороны ну вот есть у вас некий бизнес объект не вами разработанный и не предназначенный изначально для показа в дереве.
И изменить его вы не можете.
Мой метод тем и хорош что позволяет искать по любым объектам без того что бы приспосабливать эти объекты для показа в дереве.
...
Рейтинг: 0 / 0
11.01.2012, 21:14
    #37610024
Руки-крюки
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView с встроенным поиском
sergiy_s,

авторПоиск в объекта осуществлять по части строкового представления объекта в узле дерева.

Вот это не совсем понял. Чем это лучше поиска по ссылке?
...
Рейтинг: 0 / 0
11.01.2012, 23:52
    #37610150
sergiy_s
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView с встроенным поиском
Что такое поиск по ссылке??
Если имеется в виду сравнение объекта с другим объектом.
То со строкой объект в общем случае не сравнить. Не у всех метод ToString() переопределен.

Поиск по части строкового представления в моем понятии это сравнение свойства использованного для показа узла со строкой поиска.

Можно конечно развивать эту тему и искать по регулюхе или более сложный способ
задавать для разных свойств разные условия поиска.
Типа ID>20 and Value =4 or Name like ''%d%".
Пока такой задачи у меня не стояло. Но в принципе заморочиться можно.
Для этого например можно рефлексией получить все свойства объекта и по каждому из них позволить пользователю ввести информацию для поиска.
Однако может быть столько свойств, что обычный пользователь в них заблудится да и имена у них не всегда адекватные.
Следовательно нужно для каждого объекта задавать шаблон фильтра или указывать те свойства по которым строить фильтр.
Задача решаемая, но коэффициент использования этих наворотов думаю будет минимальным.
...
Рейтинг: 0 / 0
12.01.2012, 02:22
    #37610245
Руки-крюки
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView с встроенным поиском
sergiy_s,

По ссылке - это сравнивая ссылку на выделенный объект со ссылкой на объект в ItemsSource. Если равно, тогда раскрываем соответствующий узел.

Сравнивать можно с помощью - Object.ReferenceEquals(obj1, obj2). Или просто поиск в коллекции с помощью IndexOf.
А еще лучше используя метод Equals объекта. Который пользователь может переопределить как угодно.

В случае поиска по каким-то текстовым/числовым свойствам объекта - имхо, мало логики.
...
Рейтинг: 0 / 0
12.01.2012, 06:38
    #37610285
sergiy_s
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView с встроенным поиском
А вы пример скачали? Запустить пробовали? Код смотрели?
Именно так как вы описали происходит установка SelectedItem у меня оно SelectedObject.
Это одна задача.
Есть другая задача.
Найти нужный узел по слову(части слова) в нем. Я ищу все узлы содержащие вхождение нужного слова.
Показываю их в комбобоксе.
Пользователь может по полному строковому представлению Выбрать нужный ему.
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / TreeView с встроенным поиском / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]