|
TreeView с встроенным поиском
|
|||
---|---|---|---|
#18+
sergiy_s, авторНе очень красиво иметь бизнес объекту IsSelected и IsExpanded. Вполне нормально. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2012, 03:24 |
|
TreeView с встроенным поиском
|
|||
---|---|---|---|
#18+
ну как бы Есть концепция MVVM Есть люди которые ее придерживаются ВОТ ИМ это И ОБЪЯСНИТЕ . А с другой стороны ну вот есть у вас некий бизнес объект не вами разработанный и не предназначенный изначально для показа в дереве. И изменить его вы не можете. Мой метод тем и хорош что позволяет искать по любым объектам без того что бы приспосабливать эти объекты для показа в дереве. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2012, 12:57 |
|
TreeView с встроенным поиском
|
|||
---|---|---|---|
#18+
sergiy_s, авторПоиск в объекта осуществлять по части строкового представления объекта в узле дерева. Вот это не совсем понял. Чем это лучше поиска по ссылке? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2012, 21:14 |
|
TreeView с встроенным поиском
|
|||
---|---|---|---|
#18+
Что такое поиск по ссылке?? Если имеется в виду сравнение объекта с другим объектом. То со строкой объект в общем случае не сравнить. Не у всех метод ToString() переопределен. Поиск по части строкового представления в моем понятии это сравнение свойства использованного для показа узла со строкой поиска. Можно конечно развивать эту тему и искать по регулюхе или более сложный способ задавать для разных свойств разные условия поиска. Типа ID>20 and Value =4 or Name like ''%d%". Пока такой задачи у меня не стояло. Но в принципе заморочиться можно. Для этого например можно рефлексией получить все свойства объекта и по каждому из них позволить пользователю ввести информацию для поиска. Однако может быть столько свойств, что обычный пользователь в них заблудится да и имена у них не всегда адекватные. Следовательно нужно для каждого объекта задавать шаблон фильтра или указывать те свойства по которым строить фильтр. Задача решаемая, но коэффициент использования этих наворотов думаю будет минимальным. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2012, 23:52 |
|
TreeView с встроенным поиском
|
|||
---|---|---|---|
#18+
sergiy_s, По ссылке - это сравнивая ссылку на выделенный объект со ссылкой на объект в ItemsSource. Если равно, тогда раскрываем соответствующий узел. Сравнивать можно с помощью - Object.ReferenceEquals(obj1, obj2). Или просто поиск в коллекции с помощью IndexOf. А еще лучше используя метод Equals объекта. Который пользователь может переопределить как угодно. В случае поиска по каким-то текстовым/числовым свойствам объекта - имхо, мало логики. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2012, 02:22 |
|
TreeView с встроенным поиском
|
|||
---|---|---|---|
#18+
А вы пример скачали? Запустить пробовали? Код смотрели? Именно так как вы описали происходит установка SelectedItem у меня оно SelectedObject. Это одна задача. Есть другая задача. Найти нужный узел по слову(части слова) в нем. Я ищу все узлы содержащие вхождение нужного слова. Показываю их в комбобоксе. Пользователь может по полному строковому представлению Выбрать нужный ему. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2012, 06:38 |
|
|
start [/forum/topic.php?fid=21&msg=37610150&tid=1441988]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 313ms |
total: | 434ms |
0 / 0 |