Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
16.05.2010, 15:05
|
|||
|---|---|---|---|
|
|||
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки |
|||
|
#18+
Разбираюсь, как с помощью привязки к содержимому xml-файла, используя LINQ to XML, отобразить иерархию в элементе TreeView. В качестве примера написал такой xml-файл исходных данных, которые следует отобразить в TreeView: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Код: plaintext 1. 2. Искал в интернете примеры по иерархическому отображению структуры, считанное с использованием linq to xml и реализованное в виде привязки - мало что нашел. На основании того что нашёл и написал выше обозначенный код. Что я сделал не верно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.05.2010, 20:13
|
|||
|---|---|---|---|
|
|||
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки |
|||
|
#18+
Консольное приложение (код ниже) делает по своей сути то же самое, что и код топика, и всё отображает верно: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.05.2010, 20:33
|
|||
|---|---|---|---|
|
|||
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки |
|||
|
#18+
Если закомментировать часть шаблона, как показано ниже: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ____________________________________ п.с. тихо сам с собою, я веду беседу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.05.2010, 11:20
|
|||
|---|---|---|---|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки |
|||
|
#18+
Если в отладчике посмотреть, в конвертере вот это условие ... if (value is XElement) ... проходит (true)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.05.2010, 11:32
|
|||
|---|---|---|---|
|
|||
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки |
|||
|
#18+
2 МСУ Обещанная ссылка на упрощённый вариант исходников (выбросил всё, что связано с БД). LRЕсли в отладчике посмотреть, в конвертере вот это условие ... if (value is XElement) ... проходит (true)? как я уже писал выше - мой шаблон попросту не работает, и в процессе работы код просто не доходит до этой точки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.05.2010, 11:47
|
|||
|---|---|---|---|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки |
|||
|
#18+
Андрей, Вы заготовили тестовый проект, как я просил? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.05.2010, 11:56
|
|||
|---|---|---|---|
|
|||
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки |
|||
|
#18+
МСУАндрей, Вы заготовили тестовый проект, как я просил? Ну да. В последнем линке - это вообще "лайт" версия, в которой оставлено только всё то, что относится непосредственно к озвученной проблеме. Весь код, относящийся к базе данных выброшен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.05.2010, 11:59
|
|||
|---|---|---|---|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки |
|||
|
#18+
Compositum Сорри, я просто увидел в архиве Linq2Sql проект, какой-то ConsoleApplication1 проект и подумал, что Вы нихрена не сделали. Теперь вижу, вы просто их исключили из солюшена ;) Такой вопрос навскидку: а Вам обязателен ResourceDictionary, напрямую в MainWindow.xaml не хотите HierarchicalDataTemplate закурить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.05.2010, 12:04
|
|||
|---|---|---|---|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки |
|||
|
#18+
Кстати, у Вас в справочнике прописан ожидаемый тип шаблона: DataType="{x:Type linq2Xml:XElement}" Следовательно, о каком вообще xml речь? Типизируйте айтемы коллекции к данному типу и подгружайте в дерево. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.05.2010, 12:08
|
|||
|---|---|---|---|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки |
|||
|
#18+
Compositumкак я уже писал выше - мой шаблон попросту не работает, и в процессе работы код просто не доходит до этой точки. если в TreeView указать этот шаблон (ItemTemplate="{StaticResource myHierarchicalTemplate}"), то все будет работать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.05.2010, 12:10
|
|||
|---|---|---|---|
|
|||
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки |
|||
|
#18+
МСУCompositum Сорри, я просто увидел в архиве Linq2Sql проект, какой-то ConsoleApplication1 проект и подумал, что Вы нихрена не сделали. Теперь вижу, вы просто их исключили из солюшена ;) Такой вопрос навскидку: а Вам обязателен ResourceDictionary, напрямую в MainWindow.xaml не хотите HierarchicalDataTemplate закурить? Это сути проблемы не изменит. Я предпочитаю выносить ресурсы за рамки xaml-разметки элемента, т.к. таким ресурсом (в случае необходимости) можно будет воспользоваться не только в MainWindow.xaml ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.05.2010, 12:11
|
|||
|---|---|---|---|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки |
|||
|
#18+
кстати, Dictionary1.xaml в примере не подгружается, шаблон не имеет ключа, я задал ему x:Key="myHierarchicalTemplate" и перенес в Application.Resources - все заработало ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.05.2010, 12:15
|
|||
|---|---|---|---|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки |
|||
|
#18+
Код: plaintext 1. 2. 3. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.05.2010, 12:17
|
|||
|---|---|---|---|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки |
|||
|
#18+
+1 к x:Key, у меня тоже с ним работает. И его нужно привязать к ItemTemplate. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.05.2010, 12:20
|
|||
|---|---|---|---|
|
|||
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки |
|||
|
#18+
LRкстати, Dictionary1.xaml в примере не подгружается, шаблон не имеет ключа, я задал ему x:Key="myHierarchicalTemplate" и перенес в Application.Resources - все заработало у меня всё подгружается. В Application.Resources ресурсы не переношу принципиально - если это окно использовать в плагинах (например в AutoCAD), то в том случае, когда окошко будет хранить ресурсы в Application.Resources - не получится создать экземпляр этого окна. т.к. там приходится создавать окно так: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.05.2010, 12:23
|
|||
|---|---|---|---|
|
|||
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки |
|||
|
#18+
Относительно ключа - тогда уж лучше прописывать как-то так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.05.2010, 12:27
|
|||
|---|---|---|---|
|
|||
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки |
|||
|
#18+
однако я по прежнему не получаю нужного результата ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.05.2010, 12:32
|
|||
|---|---|---|---|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки |
|||
|
#18+
Compositumоднако я по прежнему не получаю нужного результата Я не понимаю смысла Вашего конвертера. Он как-бы должен отбирать элементы Category. Дык они и так биндятся: Код: plaintext Во-вторых, в метод XmlConverter.Convert приходит не XElement, а ReadOnlyObservableCollection. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.05.2010, 13:13
|
|||
|---|---|---|---|
|
|||
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки |
|||
|
#18+
МСУ Я не понимаю смысла Вашего конвертера. Он как-бы должен отбирать элементы Category. Дык они и так биндятся: Код: plaintext [quot МСУ]в метод XmlConverter.Convert приходит не XElement, а ReadOnlyObservableCollection. Если задать шаблону ключ: Код: plaintext 1. Код: plaintext Я не понимаю такого момента - почему такая разметка: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.05.2010, 13:21
|
|||
|---|---|---|---|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки |
|||
|
#18+
CompositumЯ не понимаю такого момента - почему такая разметка: Код: plaintext Вы хоть сами поняли, что написали? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.05.2010, 13:27
|
|||
|---|---|---|---|
|
|||
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки |
|||
|
#18+
МСУCompositumЯ не понимаю такого момента - почему такая разметка: Код: plaintext Вы хоть сами поняли, что написали? :) Конечно Даниил. А Вы разве не в курсе, что назначение ключу подобного имени приводит к тому, что данный шаблон будет автоматом цепляться всеми элементами данного типа (т.е. им не нужно указывать шаблон)? я это у Криса Андерсона срисовал давно ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.05.2010, 13:32
|
|||
|---|---|---|---|
|
|||
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки |
|||
|
#18+
он пишет на эту тему на стр. 374. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.05.2010, 13:39
|
|||
|---|---|---|---|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки |
|||
|
#18+
Compositumя это у Криса Андерсона срисовал давно ) Хм, а, разве, не к Style только можно применять такую фичу? Честно говоря, не знал. Спасибо! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.05.2010, 13:44
|
|||
|---|---|---|---|
|
|||
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки |
|||
|
#18+
МСУCompositumя это у Криса Андерсона срисовал давно ) Хм, а, разве, не к Style только можно применять такую фичу? Честно говоря, не знал. Спасибо! :) блиииииин... точно... это только к стилям. извиняюсь тогда всё встаёт на свои места. это меня перемкнуло, что можно и к шаблонам ((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=21&mobile=1&tid=1442794]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
65ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 256ms |
| total: | 420ms |

| 0 / 0 |
