Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Иерархическое отображение данных 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, 15:05 |
|
||
|
Иерархическое отображение данных 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:13 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Если закомментировать часть шаблона, как показано ниже: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ____________________________________ п.с. тихо сам с собою, я веду беседу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2010, 20:33 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Если в отладчике посмотреть, в конвертере вот это условие ... if (value is XElement) ... проходит (true)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2010, 11:20 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
2 МСУ Обещанная ссылка на упрощённый вариант исходников (выбросил всё, что связано с БД). LRЕсли в отладчике посмотреть, в конвертере вот это условие ... if (value is XElement) ... проходит (true)? как я уже писал выше - мой шаблон попросту не работает, и в процессе работы код просто не доходит до этой точки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2010, 11:32 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Андрей, Вы заготовили тестовый проект, как я просил? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2010, 11:47 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУАндрей, Вы заготовили тестовый проект, как я просил? Ну да. В последнем линке - это вообще "лайт" версия, в которой оставлено только всё то, что относится непосредственно к озвученной проблеме. Весь код, относящийся к базе данных выброшен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2010, 11:56 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Compositum Сорри, я просто увидел в архиве Linq2Sql проект, какой-то ConsoleApplication1 проект и подумал, что Вы нихрена не сделали. Теперь вижу, вы просто их исключили из солюшена ;) Такой вопрос навскидку: а Вам обязателен ResourceDictionary, напрямую в MainWindow.xaml не хотите HierarchicalDataTemplate закурить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2010, 11:59 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Кстати, у Вас в справочнике прописан ожидаемый тип шаблона: DataType="{x:Type linq2Xml:XElement}" Следовательно, о каком вообще xml речь? Типизируйте айтемы коллекции к данному типу и подгружайте в дерево. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2010, 12:04 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Compositumкак я уже писал выше - мой шаблон попросту не работает, и в процессе работы код просто не доходит до этой точки. если в TreeView указать этот шаблон (ItemTemplate="{StaticResource myHierarchicalTemplate}"), то все будет работать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2010, 12:08 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУCompositum Сорри, я просто увидел в архиве Linq2Sql проект, какой-то ConsoleApplication1 проект и подумал, что Вы нихрена не сделали. Теперь вижу, вы просто их исключили из солюшена ;) Такой вопрос навскидку: а Вам обязателен ResourceDictionary, напрямую в MainWindow.xaml не хотите HierarchicalDataTemplate закурить? Это сути проблемы не изменит. Я предпочитаю выносить ресурсы за рамки xaml-разметки элемента, т.к. таким ресурсом (в случае необходимости) можно будет воспользоваться не только в MainWindow.xaml ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2010, 12:10 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
кстати, Dictionary1.xaml в примере не подгружается, шаблон не имеет ключа, я задал ему x:Key="myHierarchicalTemplate" и перенес в Application.Resources - все заработало ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2010, 12:11 |
|
||
|
Иерархическое отображение данных 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:15 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
+1 к x:Key, у меня тоже с ним работает. И его нужно привязать к ItemTemplate. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2010, 12:17 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
LRкстати, Dictionary1.xaml в примере не подгружается, шаблон не имеет ключа, я задал ему x:Key="myHierarchicalTemplate" и перенес в Application.Resources - все заработало у меня всё подгружается. В Application.Resources ресурсы не переношу принципиально - если это окно использовать в плагинах (например в AutoCAD), то в том случае, когда окошко будет хранить ресурсы в Application.Resources - не получится создать экземпляр этого окна. т.к. там приходится создавать окно так: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2010, 12:20 |
|
||
|
Иерархическое отображение данных 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:23 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
однако я по прежнему не получаю нужного результата ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2010, 12:27 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Compositumоднако я по прежнему не получаю нужного результата Я не понимаю смысла Вашего конвертера. Он как-бы должен отбирать элементы Category. Дык они и так биндятся: Код: plaintext Во-вторых, в метод XmlConverter.Convert приходит не XElement, а ReadOnlyObservableCollection. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2010, 12:32 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУ Я не понимаю смысла Вашего конвертера. Он как-бы должен отбирать элементы Category. Дык они и так биндятся: Код: plaintext [quot МСУ]в метод XmlConverter.Convert приходит не XElement, а ReadOnlyObservableCollection. Если задать шаблону ключ: Код: plaintext 1. Код: plaintext Я не понимаю такого момента - почему такая разметка: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2010, 13:13 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
CompositumЯ не понимаю такого момента - почему такая разметка: Код: plaintext Вы хоть сами поняли, что написали? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2010, 13:21 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУCompositumЯ не понимаю такого момента - почему такая разметка: Код: plaintext Вы хоть сами поняли, что написали? :) Конечно Даниил. А Вы разве не в курсе, что назначение ключу подобного имени приводит к тому, что данный шаблон будет автоматом цепляться всеми элементами данного типа (т.е. им не нужно указывать шаблон)? я это у Криса Андерсона срисовал давно ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2010, 13:27 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
он пишет на эту тему на стр. 374. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2010, 13:32 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Compositumя это у Криса Андерсона срисовал давно ) Хм, а, разве, не к Style только можно применять такую фичу? Честно говоря, не знал. Спасибо! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2010, 13:39 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУCompositumя это у Криса Андерсона срисовал давно ) Хм, а, разве, не к Style только можно применять такую фичу? Честно говоря, не знал. Спасибо! :) блиииииин... точно... это только к стилям. извиняюсь тогда всё встаёт на свои места. это меня перемкнуло, что можно и к шаблонам ((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2010, 13:44 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2010, 13:48 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Compositumтогда всё встаёт на свои места. это меня перемкнуло, что можно и к шаблонам (((хм...все же непонятно, почему не отрабатывает неявное применение шаблона по типу в случае с HierarchicalDataTemplate The DataType Property The DataTemplate class has a DataType property that is very similar to the TargetType property of the Style class. Therefore, instead of specifying an x:Key for the DataTemplate in the above example, you can do the following: XAML Copy Code <DataTemplate DataType="{x:Type local:Task}"> <StackPanel> <TextBlock Text="{Binding Path=TaskName}" /> <TextBlock Text="{Binding Path=Description}"/> <TextBlock Text="{Binding Path=Priority}"/> </StackPanel> </DataTemplate> This DataTemplate gets applied automatically to all Task objects. Note that in this case the x:Key is set implicitly. Therefore, if you assign this DataTemplate an x:Key value, you are overriding the implicit x:Key and the DataTemplate would not be applied automatically. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2010, 14:09 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
LRхм...все же непонятно, почему не отрабатывает неявное применение шаблона по типу в случае с HierarchicalDataTemplate не совсем так. в том коде (полный вариант), который выложен у меня на "сайте" - неявная привязка к классам, сгенерированным Linq to SQL автоматически происходит, однако она не происходит в том случае, когда типом данных является XElement - в этом случае приходится принудительно задавать, чтобы заработало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2010, 14:16 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Внёс в xaml-разметку окна такое изменение (см. Path): Код: plaintext 1. 2. 3. 4. Код: plaintext 1. 2. 3. 4. 5. 6. 7. Можно ли это реализовать как-то средствами разметки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2010, 14:57 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
добил статейку . ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2010, 16:22 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Хорошая статья, Андрей. Респект! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2010, 16:29 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУХорошая статья, Андрей. Респект! Спасибо Даниил! ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2010, 16:35 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Андрей, еще можно рассмотреть альтернативу Вашей статье. MVVM. Если надо, скину свой пример. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2010, 11:45 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2010, 15:18 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУАндрей, еще можно рассмотреть альтернативу Вашей статье. MVVM. Если надо, скину свой пример. Честно говоря я не однократно пытался понять, что такое MVVM, но нигде не встречал статьи, в которой на простом, (понятном для меня) примере было бы разъяснено, что это за технология. Сегодня читал это , но яснее не стало. В своих решениях (solution) я всегда стараюсь действовать по следующей схеме: 1. Придумываю логическую схему работы приложения (как что должно работать). (Все ниже указанные проекты создаются в составе Solution). 2. Создаю проект, в котором определяю набор интерфейсов (interfaces), работающих согласно тому, как это было обозначено в схеме, разработанной в п.1 и посредством которых должны взаимодействовать между собой части приложения (это позволяет в последствии, при необходимости безболезненно заменять любое "звено" приложения другим, поскольку и новый и старый компонент реализуют один и тот же интерфейс). Т.о. можно ядру приложения "скормить совершенно новую версию GUI (например 3D вместо прежнего 2D) - главное, чтобы компоненты реализовывали те же interfaces. 3.Создаю проект, содержащий набор классов для работы с БД (если работаю с БД) - т.к. работаю с MS SQL Server, то это означает, что данный набор классов я генерирую с помощью LINQ to SQL. Причём компоненты проекта реализуют нужные интерфейсы, созданные в п. 2. 2. Создаю проект, содержащий графический интерфейс (GUI), в котором сразу решены вопросы локализации, а так же по максимуму (насколько "соображалки" хватает) реализованы связи в XAML-разметки и используются словари ресурсов, (как правило - вынесенные в отдельные файлы). Причём компоненты проекта реализуют нужные интерфейсы, созданные в п. 2. Все визуальные настройки контролов осуществляются строго через стили (содержащие в своём составе различные шаблоны). 3. Создаю проект, содержащий набор классов, реализующих интерфейсы п. 2 и выполняющие различные необходимые мне операции. 4. Создаю новый проект, в котором созданы классы реализующие интерфейсы, заданные в п.2 и предназначенные для ведения различных логов (журналов) в формате xml (например журнал ошибок). 5. Т.о. теперь всё подготовлено к тому, чтобы собрать ядро приложения, реализующее необходимую логику работы. Причём в этом ядре оперирование выполняется исключительно ИНТЕРФЕЙСАМИ, созданными в п.2, а не экземплярами конкретных классов. Т.о. в заключительной стадии я создаю новый проект, реализующий в себе "ядро" (логику) работы моего приложения. К этому приложению подключаются через референсы все остальные. Я не знаю как называется мой подход - поскольку, честно говоря, читая статьи аналогичные той, что я указал в линке выше по данному посту, понимания у меня не прибавляется (к сожалению)... ((( А теперь вопрос - на какую технологию это больше смахивает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2010, 18:35 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
я могу написать "статейку", в которой я бы "с нуля" создал приложение пройдя через все указанные мною выше пункты, однако у меня есть до сих пор ряд вопросов, за которые я не садился, но которые должны присутствовать в такой статье: 1. При смене локализации (в настройках приложения), желательно, чтобы изменения вступали в силу сразу, а не при следующем запуске приложения. 2. Я пока не умею создавать полноценные инсталляционные пакеты (причем в статье желательно было бы показать сборку как Setup.exe, так и Install.msi - т.е. два варианта пакетов установки). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2010, 18:42 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
и третий, весьма не маловажный пункт - каждый .net-программист должен уметь писать приложения, имея под рукой нужную версию Windows, .Net Framework и обычный Notepad. Т.е. он должен уметь работать с утилитой MsBuild.exe, самостоятельно писать proj-файлы, инкапсулируя в них логику сборки приложения. К сожалению я не настолько хорошо знаю MsBuild.exe, хотя и не совсем полный ноль в нём (во всяком случае читать proj-файлы и понимать логику того, что в них прописано - могу). Лично я таких статей не встречал (во всяком случае на русском). А ведь было бы интересно... ИМХО конечно же... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2010, 18:49 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Compositumи третий, весьма не маловажный пункт - каждый .net-программист должен уметь писать приложения, имея под рукой нужную версию Windows, .Net Framework и обычный Notepad. Т.е. он должен уметь работать с утилитой MsBuild.exe, самостоятельно писать proj-файлы, инкапсулируя в них логику сборки приложения. токо не надо флудить пожалуйста после ответа моего. но твой не маловажный пункт отражает какой то мир юношеского максимализма. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2010, 18:53 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
CompositumМСУАндрей, еще можно рассмотреть альтернативу Вашей статье. MVVM. Если надо, скину свой пример. Честно говоря я не однократно пытался понять, что такое MVVM, но нигде не встречал статьи, в которой на простом, (понятном для меня) примере было бы разъяснено, что это за технология. Сегодня читал это , но яснее не стало. В своих решениях (solution) я всегда стараюсь действовать по следующей схеме: 1. Придумываю логическую схему работы приложения (как что должно работать). (Все ниже указанные проекты создаются в составе Solution). 2. Создаю проект, в котором определяю набор интерфейсов (interfaces), работающих согласно тому, как это было обозначено в схеме, разработанной в п.1 и посредством которых должны взаимодействовать между собой части приложения (это позволяет в последствии, при необходимости безболезненно заменять любое "звено" приложения другим, поскольку и новый и старый компонент реализуют один и тот же интерфейс). Т.о. можно ядру приложения "скормить совершенно новую версию GUI (например 3D вместо прежнего 2D) - главное, чтобы компоненты реализовывали те же interfaces. 3.Создаю проект, содержащий набор классов для работы с БД (если работаю с БД) - т.к. работаю с MS SQL Server, то это означает, что данный набор классов я генерирую с помощью LINQ to SQL. Причём компоненты проекта реализуют нужные интерфейсы, созданные в п. 2. 2. Создаю проект, содержащий графический интерфейс (GUI), в котором сразу решены вопросы локализации, а так же по максимуму (насколько "соображалки" хватает) реализованы связи в XAML-разметки и используются словари ресурсов, (как правило - вынесенные в отдельные файлы). Причём компоненты проекта реализуют нужные интерфейсы, созданные в п. 2. Все визуальные настройки контролов осуществляются строго через стили (содержащие в своём составе различные шаблоны). 3. Создаю проект, содержащий набор классов, реализующих интерфейсы п. 2 и выполняющие различные необходимые мне операции. 4. Создаю новый проект, в котором созданы классы реализующие интерфейсы, заданные в п.2 и предназначенные для ведения различных логов (журналов) в формате xml (например журнал ошибок). 5. Т.о. теперь всё подготовлено к тому, чтобы собрать ядро приложения, реализующее необходимую логику работы. Причём в этом ядре оперирование выполняется исключительно ИНТЕРФЕЙСАМИ, созданными в п.2, а не экземплярами конкретных классов. Т.о. в заключительной стадии я создаю новый проект, реализующий в себе "ядро" (логику) работы моего приложения. К этому приложению подключаются через референсы все остальные. Я не знаю как называется мой подход - поскольку, честно говоря, читая статьи аналогичные той, что я указал в линке выше по данному посту, понимания у меня не прибавляется (к сожалению)... ((( А теперь вопрос - на какую технологию это больше смахивает? Это смахивает на Winforms со всеми его недостатками. Какие сложности с MVVM? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2010, 18:55 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
AlexeiK токо не надо флудить пожалуйста после ответа моего. но твой не маловажный пункт отражает какой то мир юношеского максимализма. мой "не маловажный пункт" говорит о том, что автоматическая генерация кода - это удобно, но не исключает необходимости ПОНИМАНИЯ того, что сгенерировано студией программно (а генерируется, как правило, далеко не один файл). В противном случае это всё равно, что работать спасателем на пляже не умея плавать и надеясь только на надувную резиновую уточку, натянутую на живот - да, это работает, но что если уточка вдруг лопнет (т.е. если понадобится написать код, а VS не будет под рукой, или вдруг проект перестанет собираться), что тогда? Понимание того, КАК это работает, не значит, что нужно всё время писать код в блокноте. Но понимать нужно, а любая статья предназначена для того, чтобы дать ЗНАНИЕ. п.с. "токо не надо флудить пожалуйста после ответа моего." (с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2010, 19:02 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Silverlight Это смахивает на Winforms со всеми его недостатками. Недостатки в студию (с). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2010, 19:04 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Допиши статью с возможность редактирования данных, чтобы таблиц было десятка два, а не две. Сам увидишь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2010, 20:39 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
SilverlightДопиши статью с возможность редактирования данных, чтобы таблиц было десятка два, а не две. Сам увидишь. Ответ ни о чём. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2010, 20:55 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
А о чем может быть разговор, если для тебя нет разницы,когда присутствует код во view или нет. Не в обиду, но статья вредная, о том, как не нужно делать в wpf. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2010, 21:11 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
SilverlightДопиши статью с возможность редактирования данных, чтобы таблиц было десятка два, а не две. Сам увидишь. MVVM, как-раз таки, решает не эту задачу, к сожалению. Он дает полноценно тестировать гуй, покрывая автотестами поведение этого гуя, а так же более мягко перенести один вид приложения на другой (например, WPF апп на сильвер апп). Всё. Большой недостаток MVVM в серьезных приложениях - повышенные сложность/объем кода и его поддержка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2010, 21:13 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
SilverlightА о чем может быть разговор, если для тебя нет разницы,когда присутствует код во view или нет. Не в обиду, но статья вредная, о том, как не нужно делать в wpf. Написал так, как мне видится решение. С интересом почитаю, если напишешь и покажешь свой вариант примера. п.с. я и сам понимаю, что статья далека от совершенства, но приветствую критику по существу, чётко указывающую не верно решённые в примере моменты и предлагающую конкретные альтернативные варианты решения этих моментов. Фраза "статья вредная, о том, как не нужно делать в wpf" не содержит ничего из выше перечисленного, а следовательно не имеет "веса". имхо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2010, 21:24 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
2 МСУ Даниил, из перечисленного мною здесь , какие замечания можете дать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2010, 21:28 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
и заодно насчёт вашего примера поподробнее если можно.... В смысле у вас есть оформленный пример, в котором используется MVVM? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2010, 21:30 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Попробуй понять MVVM, отпадет необходимость в написании конвертеров, можно будет безболененно менять view и тд. Все весьма упростится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2010, 21:32 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
CompositumSilverlightА о чем может быть разговор, если для тебя нет разницы,когда присутствует код во view или нет. Не в обиду, но статья вредная, о том, как не нужно делать в wpf. Написал так, как мне видится решение. С интересом почитаю, если напишешь и покажешь свой вариант примера. это фантастика, сынок (с) Реклама. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2010, 21:41 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Compositumи заодно насчёт вашего примера поподробнее если можно.... В смысле у вас есть оформленный пример, в котором используется MVVM? Я же дал тебе ссылку на статью с примером MVVM. Это классика ее все цитируют. 2 iscrafm, я это сделаю быстрее и проще, чем ты со своей искрой. Для тебя сынок, это, действительно, будет фантастикой. Могу поспорить на твой ноутбук. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 00:15 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Silverlight2 iscrafm, я это сделаю быстрее и проще, чем ты со своей искрой. Для тебя сынок, это, действительно, будет фантастикой. Могу поспорить на твой ноутбук. СеВа, не устраивай здесь очередной цирк. Во-первых, при чем здесь Искра? А во-вторых, могу тебе напомнить, что уже среда, клоун. Быстрее ты собирался еще в выходные сделать. В прочем, речь не об этом, а о твоем примере, который покажет "правильное" понимание того, что такое MVVM. Именно о нем речь и шла, как о фантастике. Не мусорь, плз. Давай пример. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 01:55 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
искра при том, что я как-то имел неосторожность сказать, что подобные черные ящики не нужны. После этого ты неровно дышишь. Пример будет простой и кода в нем практически не будет: 1. Генерим в ЕF два класса: MyList, ListItem. В ListItem нужно будет задать ленивую выборку дочерней коллекции. 2. Создаем пустой контроллер, наследуясь от базового MyListController : ListController<MyList> {}. Он осуществляет выборку данных, затем вызывает сервис для отображения окна.View создается автоматически 3. View тоже не содержит кода, а наследуется от базового 4. В zaml к кнопкам делаем привязку к команде вызова нужного окна. Минимум кода и телодвижений. При этом у меня полный контроль в отличии от твоей искры, в любой момент можно внести изменения. Мультик сделаю чуть позже, сейчас на эту показуху нет времени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 02:48 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Compositum2 МСУ Даниил, из перечисленного мною здесь , какие замечания можете дать? Замечаний, как таковых нет, просто описано сумбурно и много текста. Напоминает какой-то свой специфический паттерн "Начало получения функциональной спецификации - ... - Конец разработки". Вообщем, ничего конкретного сказать не могу по Вашему варианту. Compositumи заодно насчёт вашего примера поподробнее если можно.... В смысле у вас есть оформленный пример, в котором используется MVVM? Сева опередил. Поюзайте дерево на MVVM с кодепрожекта, хороший пример. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 09:33 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
2 Silverlight Спасибо за линк, обязательно прочту его, на данный момент читаю это , затем хочу прочесть это (всё-таки на русском...). После чего возьмусь за вашу ссылку и ещё за эту . 2 iscrafm Прошу вас, давайте не будем начинать грызню. p.s. Мне нужно будет написать плагин для AutoCAD (библиотека блоков). GUI будет полностью написан на WPF, блоки будут храниться в файлах, поскольку сериализовать их в поток байтов не удастся (к сожалению). В настройках плагина можно будет выбрать тип хранилища: файловая система или БД MS SQL Server. В общем-то плагин на 90% уже написан, но хочу разобраться с MVVM и переписать его, оформив всё в виде статьи. Т.е. это получится реальный пример из жизни - библиотека предназначена для корпоративного использования проектировщиков, работающих в САПР AutoCAD. В БД не десять таблиц, но и не две: Скрины GUI сейчас показывать не буду, т.к. хочу их полностью переделать (упростить). Затем с интересом выслушаю конструктивные замечания по опубликованному мною и, в случае необходимости, внесу корректирующие изменения. Линк выложу либо в этом топике, либо создам новый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 10:33 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
п.с. авторпоскольку сериализовать их в поток байтов не удастся (к сожалению). "Их" - это блоков, а не файлов (уточнение). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 10:35 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Андрей, накидал Вам простой пример MVVM (на моих любимых DelegateCommand). Смотрите. Будут вопросы - задавайте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 11:11 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
vs2010, забыл уточнить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 11:11 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Там есть два варианта работы самой модели: Book и Users. В первой модель оснащена логикой по выдаче и сдаче товара. Во второй - логики нет, она перенесена в свою вьюмодель (UsersViewModel). Наиболее правильным является второй вариант, имейте это ввиду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 11:15 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Если плагины, то смотри MEF. Входит в состав net 4(system.componentmodel.composition), на нем реализована поддержка плагинов в VS 2010. Специально разрабатывался для поддержки расширений. Серилизовать в байты не нужно, оформляешь свои компоненты в виде dll, каждая экспотируемая часть(parts - визуальный контрол, сервисы, viewmodel, etc) должна содержать аттрибут Export, затем МЕF контейнеру задаешь DirectoryCatalog для композиции, он загружает dll из этого каталога, регистрирует parts, их рагистрацию можно отследить и обработать(зарегистрировать пункты меню, выполнить определенные действия и тд). Если стоит аттрибут Import, то нужное свойство или метод, автоматически инжектятся(можно обойтись без DI контейнеров). Весьма мощное и удобное средство ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 11:16 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУ, правильный пример дал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 11:18 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
SilverlightМСУ, правильный пример дал Код юзали? Вариант с Book:ViewModelBase мне не нравится, хотя так многие делают, как я заметил. По мне, более вкусным вариантом является User:ViewModelBase + UsersViewModel:ViewModelBase. Оно как-бы разделяет принципы логики. Хотя для тех же автотестов по-барабану, как использовать, борщ тот же самый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 11:31 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
UsersViewModel криво назвал. Нужно UserViewModel. Ну да ладно, Композитум поймёт, что к чему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 11:32 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУUser:ViewModelBase + UserViewModel:ViewModelBase В чем плюс использования ORM EF или Linq 2 SQL. В том, что в автогенерируемых маппингах (сущностях) уже реализован INotifyPropertyChanged, и поэтому надобность в User:ViewModelBase отпадает. Получается так: User + UserViewModel:ViewModelBase Вариантов остается так же два: вносить логику в User (через дополнительный partial класс) или писать UserViewModel. Я склоняюсь к UserViewModel, как уже говорил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 11:36 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
SilverlightВходит в состав net 4(system.componentmodel.composition) Спасибо, я обязательно посмотрю данную тему применительно к версиям AutoCAD 2011 (которая уже вышла) и выше, но к сожалению, по факту наши пользователи работают с версией AutoCAD 2009, который для части своего функционала использует .Net Framework 3.0. Мне удаётся подключать к нему плагины, написанные на .Net 3.5, но подключить то, что написано на .net 4.0 не удаётся - не ест он это... Т.о. на данный момент я ограничен в использовании версий фрэймворка... ((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 11:37 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУАндрей, накидал Вам простой пример MVVM (на моих любимых DelegateCommand). Смотрите. Будут вопросы - задавайте. спасибо! буду разбираться ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 11:40 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
CompositumМне удаётся подключать к нему плагины, написанные на .Net 3.5, но подключить то, что написано на .net 4.0 не удаётся - не ест он это... Т.о. на данный момент я ограничен в использовании версий фрэймворка... ((( Почему? Что мешает доустановить юзверю четвертый фрейм? Благо, хорошо сжали - дистриб вышел в пол-сотни метров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 11:41 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Compositumзатем хочу прочесть это (всё-таки на русском...) Вот это [img=http://i.msdn.microsoft.com/cc785479.fig11(ru-ru).gif] выбросьте в печку и не насилуйте моск, оно в впф не нужно. Для ASP.NET (хотя есть нормальный ASP.NET MVC для этого предназначенный), для WinForms (со скрипом) - самое оно. Писать свои селектед евенты, презентёры и объединяющие вью - проще отстрелить себе моск. Вот это [img=http://i.msdn.microsoft.com/cc785479.fig10(ru-ru).gif] самое оно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 11:53 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУ Почему? Что мешает доустановить юзверю четвертый фрейм? Благо, хорошо сжали - дистриб вышел в пол-сотни метров. В каталоге, содержащем acad.exe имеется и файл acad.exe.config со следующим содержимым: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Сообщение, получаемое при попытке подключить плагин, написанный на .Net 4.0 Command: netload Cannot load assembly. Error details: System.BadImageFormatException: Could not load file or assembly 'file:///I:\Visual Studio 2010\Projects\AcadPlagin3\AcadPlagin3\bin\Debug\AcadPlagin.dll' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded. File name: 'file:///I:\Visual Studio 2010\Projects\AcadPlagin3\AcadPlagin3\bin\Debug\AcadPlagin.dll' at System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) at System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) at System.Reflection.Assembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, StackCrawlMark& stackMark) at System.Reflection.Assembly.LoadFrom(String assemblyFile) at Autodesk.AutoCAD.Runtime.ExtensionLoader.Load(String fileName) at loadmgd() WRN: Assembly binding logging is turned OFF. To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1. Note: There is some performance penalty associated with assembly bind failure logging. To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog]. Эту ошибку получаю в AutoCAD 2009 (т.е. как я понял - автокад 2009 игнорирует версию указанного мною фрэйма и грузит ту, что ему больше нравится), а в AutoCAD 2011 всё работает. Т.о. делаю вывод, что в AutoCAD 2009 не удастся заюзать библиотеки, написанные на .Net 4.0. Либо вместо v4.0.30319 нужно прописать что-то другое, что укажет на версию 4-го фрэйма. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 12:16 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
СеВа, речь не идет об Искре (при чем она здесь вообще, знает только твое воспаленное сознание), речь идет о "правильном" понимании MVVM, которое ты обещал продемонстрировать . Мне интересно только это и ничего более. Ты как полный неадекват приплетаешь ее везде, когда не можешь родить банальный пример, подтверждение своих слов. Не начинай сварку. OFF - исправление неточностей Искра не является черным ящиком. В Искре вообще нет кода, даже практически, как ты говоришь. полный контроль и в любой момент можно внести изменения. по принципам, которые позже описаны как MVVM она живет с 2003 года ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 12:36 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
CompositumSilverlightВходит в состав net 4(system.componentmodel.composition) Спасибо, я обязательно посмотрю данную тему применительно к версиям AutoCAD 2011 (которая уже вышла) и выше, но к сожалению, по факту наши пользователи работают с версией AutoCAD 2009, который для части своего функционала использует .Net Framework 3.0. Мне удаётся подключать к нему плагины, написанные на .Net 3.5, но подключить то, что написано на .net 4.0 не удаётся - не ест он это... Т.о. на данный момент я ограничен в использовании версий фрэймворка... ((( mef.codeplex.com - вариант для 3.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 12:42 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
CompositumТ.о. делаю вывод, что в AutoCAD 2009 не удастся заюзать библиотеки, написанные на .Net 4.0. Либо вместо v4.0.30319 нужно прописать что-то другое, что укажет на версию 4-го фрэйма. Ну хз, я в автокаде лам. Странно, что они жестко привязалсиь к версии фрейма... Какая им нафик разница какой версии CLR будет байткодить MSIL, зачем программистам так руки скручивать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 12:47 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
SilverlightCompositumSilverlightВходит в состав net 4(system.componentmodel.composition) Спасибо, я обязательно посмотрю данную тему применительно к версиям AutoCAD 2011 (которая уже вышла) и выше, но к сожалению, по факту наши пользователи работают с версией AutoCAD 2009, который для части своего функционала использует .Net Framework 3.0. Мне удаётся подключать к нему плагины, написанные на .Net 3.5, но подключить то, что написано на .net 4.0 не удаётся - не ест он это... Т.о. на данный момент я ограничен в использовании версий фрэймворка... ((( mef.codeplex.com - вариант для 3.5 Спасибо, обязательно ознакомлюсь, как только дочитаю статьи, посмотрю пример Даниила и пойму, что собой представляет MVVM. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 12:48 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУ Ну хз, я в автокаде лам. Странно, что они жестко привязалсиь к версии фрейма... Какая им нафик разница какой версии CLR будет байткодить MSIL, зачем программистам так руки скручивать... Есть многое на свете [ в AutoCAD ] друг Горацио, что и не снилось нашим мудрецам... (с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 12:51 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
iscrafmСеВа, речь не идет об Искре (при чем она здесь вообще, знает только твое воспаленное сознание), речь идет о "правильном" понимании MVVM, которое ты обещал продемонстрировать . Мне интересно только это и ничего более. Ты как полный неадекват приплетаешь ее везде, когда не можешь родить банальный пример, подтверждение своих слов. Не начинай сварку. OFF - исправление неточностей Искра не является черным ящиком. В Искре вообще нет кода, даже практически, как ты говоришь. полный контроль и в любой момент можно внести изменения. по принципам, которые позже описаны как MVVM она живет с 2003 года Если не черный, в чем я очень сомневаюсь, то монолитный. Можно заменить твои сервера с непонятными протоколами на стандартные, и использовать EF или Ria Services? MVVM был описан давно, но без биндинга xaml и его расширяемости, он неинтересен. Если использовать стандартные варианты - xaml,SOAP,ORM и отбросить твои уже никому не нужные серверы и скриптовые движки, то от искры ничего не останется. ЗЫ НА ViewModel у меня все построено. Они создаются автоматически при вызове контроллера(с помощью того же MEF) или это можно переопределить. Мало того, в контроллере можно задавать инициализаторы ViewModel, а в них динамически добавлять свойства и методы для последних. В большинстве случаев переопределять базовые классы ViewModel не приходится. Вся логика вынесена в контроллеры. Кода минимум, будет время специально для тебя сделаю мультик. Тогда сам увидишь почему не нужна твоя Искра. ЗЫЫ Последняя версия исходников меf на codeplex пошла в 4.0. Под 3.5 она работает точно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 13:05 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
SilverlightЕсли не черный, в чем я очень сомневаюсь, то монолитный. Можно заменить твои сервера с непонятными протоколами на стандартные, и использовать EF или Ria Services? опять в молоко. Можешь использовать EF и Ria Services, не запрещаю. Только при чем здесь Искра? Кстати, если тебе протокол TCP/IP непонятен, то есть просто множество источников инормации в Интернет. SilverlightНА ViewModel у меня все построено. Они создаются автоматически при вызове контроллера(с помощью того же MEF) или это можно переопределить. Мало того, в контроллере можно задавать инициализаторы ViewModel, а в них динамически добавлять свойства и методы для последних. В большинстве случаев переопределять базовые классы ViewModel не приходится. Вся логика вынесена в контроллеры. Ничего у тебя не построено. Кого ты вводишь в заблуждение? SilverlightКода минимум, будет время специально для тебя сделаю мультик. Тогда сам увидишь почему не нужна твоя Искра. Если за год времени не появилось, то ждать чуда не приходится. Ты просто трепло и фантазер-теоретик. p.s. вопрос был о хорошем примере, иллюстрирующем сущность MVVM, если ты забыл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 13:24 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУАндрей, накидал Вам простой пример MVVM (на моих любимых DelegateCommand). Смотрите. Будут вопросы - задавайте. ты из Владивостока? http://megadarja.blogspot.com/2010/04/mvvm-wpf.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 13:39 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
искра, брось свои еврейские мультики и досужие домыслы. это ты покупаешь левые серверы, я своей головой обхожусь, на древнем барохле не сижу, вместо просмотров фильмов, как ты, смотрю совсем другое. Приходи в гости, я тебе покажу кусочек программирования ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 13:53 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУ... на моих любимых DelegateCommand ...DelegateCommand - маразм. Вот самая нормальная реализация ICommand. (c) мой Код: 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. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 13:56 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Модератор: Воздерживаемся от оскорблений. 1 предупреждение. Касается обоих. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 14:03 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
ШайтанМСУАндрей, накидал Вам простой пример MVVM (на моих любимых DelegateCommand). Смотрите. Будут вопросы - задавайте. ты из Владивостока? http://megadarja.blogspot.com/2010/04/mvvm-wpf.html Сравни её пример и мой. Задумайся над своим вопросом. P.S. За основу взял этот пример, чтоб с нуля Композитуму не писать. Алексей КDelegateCommand - маразм. Вот самая нормальная реализация ICommand DelegateCommand - не маразм. Обычный враппинг, и только. Вот самая нормальная реализация ICommand: AttachedCommandBehavior или Microsoft.Expression.Interactivity. Лёша, не придумывайте лисапедов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 14:10 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Алексей КDelegateCommand - маразм Смотрите, сколько букаф у меня получается :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. P.S. Согласный "свой" вариант засунуть в печку? P.S2. Не пишите лисапедов, уже всё написано. DelegateCommand - самое простое для понимания, о котором (понимании) меня просил Андрейка Композитный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 14:14 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУАндрейка Композитный. МСУ, может как-то будем фильтровать звуки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 14:18 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
CompositumМСУАндрейка Композитный. МСУ, может как-то будем фильтровать звуки? Ну это же лучше, чем просто Композ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 14:20 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУ Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 14:44 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Алексей КЯ же говорю, ключевой момент - свойство Enabled. С DelegateCommand проблемы начинаются, когда CanExecuteDelegate посложнее чем x => true . Да п о лно Вам. Можно пойди в обход и биндить UIElement.IsEnabled на своё условие в зависимости от логики, представленной в ViewModel. Enabled - это ведь не панацея. Роль CanExecute делегата состоит не в IsEnabled, а в факте "можно или нельзя" выполнить команду. А Enabled это уже гуевые рюшечки, чтоб уж "наверняка". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 15:05 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Алексей КМСУ Код: plaintext 1. 2. 3. 4. У тебя будут другие проблемы - утечка памяти(это происходило в Prism). Должны быть WeakReferenceHandler ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 15:18 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУАлексей КЯ же говорю, ключевой момент - свойство Enabled. С DelegateCommand проблемы начинаются, когда CanExecuteDelegate посложнее чем x => true . Да п о лно Вам. Можно пойди в обход и биндить UIElement.IsEnabled на своё условие в зависимости от логики, представленной в ViewModel.Зачем идти в обход и плодить свойства, если нормальное решение занимает пару десятков строк велосипедокода? SilverlightУ тебя будут другие проблемы - утечка памяти(это происходило в Prism). Должны быть WeakReferenceHandlerЗаменить на WeakReferenceHandler несложно. Я видел это в Призме, но не понял зачем. Кажется там в коментариях было что-то про производительность. Что за утечки памяти? Если забывать потом отписываться от событий там где нужно? Если нет, то можно показательный пример? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 15:40 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Алексей КЗачем идти в обход и плодить свойства, если нормальное решение занимает пару десятков строк велосипедокода? А зачем придумывать какую-то логику в модели, "посложнее чем x => true"? CanExecuteDelegate решит любую задачу, которая будет описана в ViewModel. Если ViewModel не обладает этой информацией - Вы не правильно спроектировали ViewModel. И тогда не будет никаких десятков строк велосипедокода. x => true это, конечно же, для примера. Сюда можно вставить сколь угодно сложное условие. Главное, чтобы исходные данные были во ViewModel. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 15:47 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУСюда можно вставить сколь угодно сложное условие. Главное, чтобы исходные данные были во ViewModel.Разумеется, все исходные данные во ViewModel есть. Причём, это одна из причин почему я отказался от CommandParameter. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 15:51 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУCanExecuteDelegate решит любую задачу, которая будет описана в ViewModel.Только вот незадача, как определить момент вызова CanExecuteChanged, когда там куча входных параметров, перечень которых может постоянно меняться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 15:53 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Алексей КМСУCanExecuteDelegate решит любую задачу, которая будет описана в ViewModel.Только вот незадача, как определить момент вызова CanExecuteChanged, когда там куча входных параметров, перечень которых может постоянно меняться. Всмысле? :) Когда первая строчка кода выполнится в CanExecuteChanged, тогда оно и момент вызова Кучу параметров можно вынести в приват класс вьюмодели, и ориентироваться по ней (как вариант). Лёнь, ну что Вы, в самом деле? ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 16:07 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Алексей КМСУCanExecuteDelegate решит любую задачу, которая будет описана в ViewModel.Только вот незадача, как определить момент вызова CanExecuteChanged, когда там куча входных параметров, перечень которых может постоянно меняться. В базовом классе создаем обработчики для основных операций CanSave, CanEdit,CanFetch,etc, которые зависят от текущего состояния Моdel и самого ViewModel. Для других вариантов я сделал возможность задавать зависимости полей и делегатов(акции,функции). Те при измении поля или вызова делегата, будет автоматически вызываться сообщение об изменении других полей и/или вызываться нужные делегаты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 17:29 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Сева, я ваще не понимаю, зачем делать акции на акции (или акции на команды)? Вьюмодель полноценна и сама может ответить на вопрос CanSave. Нахрена огороды городить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 17:32 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУВсмысле? :) Когда первая строчка кода выполнится в CanExecuteChanged, тогда оно и момент вызова Ситуаций может быть много, например: Код: 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. 33. 34. 35. vs Код: 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. 33. 34. 35. 36. 37. 38. 39. ЗЫ: Как там называется OnCanExecuteChanged не помню... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 17:38 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
SilverlightВ базовом классе создаем обработчики для основных операций CanSave, CanEdit,CanFetch,etc, которые зависят от текущего состояния Моdel и самого ViewModel. Для других вариантов я сделал возможность задавать зависимости полей и делегатов(акции,функции). Те при измении поля или вызова делегата, будет автоматически вызываться сообщение об изменении других полей и/или вызываться нужные делегаты.Я не стал заморачиваться. Сделал по старинке метод UpdateView, в котором пересчитываются все Enabled и т. п. И вызываю этот метод отовсюду, что может повлечь изменение состояния. Как правило достаточно это вызвать из CurrentItemChanged курсоров по коллекциям. ЗЫ: Поясните про утечки памяти, интересно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 17:45 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
ЛёняC1.OnCanExecuteChanged(); // Накойхер (с) везьде расставлять эти команды? И ещё не забыть надо, если зависимости изменятся Эээ, батенька, Вас никто не обязует реализовывать эту пыль. Если в задаче нужно перехватывать - значит реализовываем, если нет, то в топку. Ровным счетом, это относится и к INotifyPropertyChanged. Посмотрите мой пример, который я дал. В MainViewModel.cs есть ObservableCollection<Book> BooksList. Вот как он описан: Код: plaintext Где тут OnPropertyChanged? Нету. Почему? Потому, что нах не нужно. Тоже самое и Ваш OnCanExecuteChanged. Оно не обязательно. Так что зря Вы наезжаете на DelegateCommand. Кстати, смотрели RelayCommand? И как? Правильно, одна фигня, что и DelegateCommand :) Так что не надо ля-ля :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 17:46 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУЕщё раз... View никак без Вашего участия не сможет определить, когда нужно вызвать CanExecute, чтобы обновить состояния контролов. Вы должны сами явно где-то вызвать CanExecuteChanged. А делать дополнительное свойство для биндинга на IsEnabled контролов глупо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 17:52 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Алексей КМСУЕщё раз... View никак без Вашего участия не сможет определить, когда нужно вызвать CanExecute Это почему? :) Представьте, что пришел виндовой броадкаст мессадж. Во вьюмодели у меня находится перехватчик, который после перехвата осуществляет некий экзекут. Каким боком тут View и "моё" участие, Лёня? ) Алексей КВы должны сами явно где-то вызвать CanExecuteChanged. А делать дополнительное свойство для биндинга на IsEnabled контролов глупо. Я не понимаю до сих пор Вашей проблемы. Вы не можете определить точку входа в Ваш CanExecute? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 17:57 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУПредставьте, что пришел виндовой броадкаст мессадж.Мы говорим о событиях, аля ButtonClick. МСУВы не можете определить точку входа в Ваш CanExecute?Ещё раз. Напрягает инициировать событие ICommand.CanExecuteChanged во всех сеттерах свойств, событиях и т. п., которые могут повлиять на результат метода ICommand.CanExecute, который делегирует вызов подсунутому ему делегату. Это нужно чтобы View своевременно обновило состояние контролов согласно состоянию ICommand (возможности её вызова). Как правило это отражается на значении свойства IsEnabled. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 18:18 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУГде тут OnPropertyChanged? Нету. Почему? Потому, что нах не нужно. Тоже самое и Ваш OnCanExecuteChanged. Оно не обязательно .В данной реализации это не так. Если его не будет - не будет обновляться состояние контролов во View. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 18:20 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
да вы сча о вкусах спорите. не даром придумали мудрость народную:о вкусах не спорят,чтобы не было бездонных флудилинь :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 18:20 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУСева, я ваще не понимаю, зачем делать акции на акции (или акции на команды)? Вьюмодель полноценна и сама может ответить на вопрос CanSave. Нахрена огороды городить? ПОделись, как можно реализовать полноценную viewmodel на все случаи жизни? Мне акции на акции нужны, например, для вызова CanExecute после вызова. Это дает возможность задавать необходимое поведение только в controller'e и не менять(создавать конкретную реализацию) ViewModel. Таким образом можно извлекать ViewModel из DI контейнера на автомате, потому она и не звучала в тех шагах, что я описывал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 18:44 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
SilverlightАлексей КМСУ Код: plaintext 1. 2. 3. 4. У тебя будут другие проблемы - утечка памяти(это происходило в Prism). Должны быть WeakReferenceHandler weakevent ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 18:45 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Silverlight weakevent Как я и предполагал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 19:31 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Алексей КSilverlight weakevent Как я и предполагал.Собcтвенно, что я предполагаю. :-)) WPF/SL не всегда отписывается от события ICommand.CanExecuteChanged, из-за чего без использования WeakReference возможны утечки памяти. Так ли это? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2010, 19:50 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Да. Это так. Ещё один камень в огород WPF. Silverlight, хорошо что обратили на это внимание. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 06:24 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Алексей КДа. Это так. Ещё один камень в огород WPF. Silverlight, хорошо что обратили на это внимание. Спасибо. Это касается всего Net, а не только одного WPF. Объект может быть уничтожен только, если на него нет ссылок в других. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 06:37 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Отписку от событий сборщик мусора не делает. Только ручками ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 06:39 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
SilverlightОтписку от событий сборщик мусора не делает. Только ручкамиНу как бы известен момент закрытия формы, отсоединения контрола от логического дерева и т. п. чтобы отписаться от этого события. От INotifyPropertyChanged.PropertyChanged датабиндинг же корректно отписывается. А тут почему-то нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 10:02 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Это я к тому, что WPF мог бы сделать это сам. Не заставляя нас вручную отписывать обработчики или мутить WeakReference. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 10:34 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Алексей КSilverlight weakevent Как я и предполагал. Ипать капать... Вот это жопа. Без комментариев... ПСыP.S. Шаблон MVVM в моих глазах потерял актуальность в жизни, где на каждых чих создаются EventArgs'ы. P.S2. Уж лучше по старинке (по формзовски) прикручивать "клики" и иже. Я не готов на каждый чих писать свой IWeakEventListener. Так же, я не собираюсь в один IWeakEventListener влеплять тонну левых универсальных евентов, которые в конкретном случае могут не понадобиться (см. аттач) P.S3. Я разочарован. Причём, сильно разочарован. P.S4. Сева, спасибо за ссылку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 11:43 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУШайтанМСУАндрей, накидал Вам простой пример MVVM (на моих любимых DelegateCommand). Смотрите. Будут вопросы - задавайте. ты из Владивостока? http://megadarja.blogspot.com/2010/04/mvvm-wpf.html Сравни её пример и мой. Задумайся над своим вопросом. P.S. За основу взял этот пример, чтоб с нуля Композитуму не писать. прастите за долгое молчание - иногда работаю :)) МСУ, к тому и вопрос, что если уж взял за основу, то так пиши: "добавил аж целый класс" в то-то.... почему то разработчик http://avalondock.codeplex.com/ не постеснялся указать проект, взятый им за основу а ты чего стесняешься и выдаёшь проектик на 98% сгенерированный с помощью WPF Model-View-ViewModel Toolkit 0.1 за свою нетленку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 11:49 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУАлексей КSilverlight weakevent Как я и предполагал. Ипать капать... Вот это жопа. Без комментариев... + ПСыP.S. Шаблон MVVM в моих глазах потерял актуальность в жизни, где на каждых чих создаются EventArgs'ы. P.S2. Уж лучше по старинке (по формзовски) прикручивать "клики" и иже. Я не готов на каждый чих писать свой IWeakEventListener. Так же, я не собираюсь в один IWeakEventListener влеплять тонну левых универсальных евентов, которые в конкретном случае могут не понадобиться (см. аттач) P.S3. Я разочарован. Причём, сильно разочарован. P.S4. Сева, спасибо за ссылку. 1.MVVM, как раз и нужен для того, чтобы ничего не знать об интерфейсе и не прикручивать event'ы 2. Event'ы для кликов в Winform ничем не отличаются от WPF. Их тоже нужно уничтожать для верности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 12:03 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Шайтанк тому и вопрос, что если уж взял за основу, то так пиши: "добавил аж целый класс" в то-то.... Смысл? Во-вторых: отрефакторил базовый код и выкинул один класс, логику перенес в другой, написал UsersView.xaml, UsersView.xaml.cs, UsersViewModel.cs и User.cs, воткнул в базовый проект. Где тут "аж целый класс"? В-третьих, мне обсолютно пох на то, что базовый код кто-то там писал и я должен об этом упоминать. В-четвертых, не ипите мне моск, Шайтан :) (по-доброму) Шайтанпочему то разработчик http://avalondock.codeplex.com/ не постеснялся указать проект, взятый им за основу Мне абсолютно сиренев этот разработчик и его поделие. Шайтана ты чего стесняешься и выдаёшь проектик на 98% сгенерированный с помощью WPF Model-View-ViewModel Toolkit 0.1 за свою нетленку? См. выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 12:05 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУ, да лана, не оправдывайся (по-доброму) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 12:08 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Silverlight1.MVVM, как раз и нужен для того, чтобы ничего не знать об интерфейсе и не прикручивать event'ы Да ну? Исходный код коммандделегатов и им подобных смотрели? Где там происходит отписка? Silverlight2. Event'ы для кликов в Winform ничем не отличаются от WPF. Их тоже нужно уничтожать для верности. WinForms это делает сама, не обременяя разработчика этим гемором. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 12:09 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Silverlight2. Event'ы для кликов в Winform ничем не отличаются от WPF. Их тоже нужно уничтожать для верности. Разве? Вот эту красоту генерит винформзовый дизайнер. Вместе с убиением формы пойдут в печку и все EventHandler'ы. Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 12:13 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУSilverlight1.MVVM, как раз и нужен для того, чтобы ничего не знать об интерфейсе и не прикручивать event'ы Да ну? Исходный код коммандделегатов и им подобных смотрели? Где там происходит отписка? Silverlight2. Event'ы для кликов в Winform ничем не отличаются от WPF. Их тоже нужно уничтожать для верности. WinForms это делает сама, не обременяя разработчика этим гемором. Смотрел. В Prism - WeakEvent. Ничего сама WInForms не делает.Подпишись в глобальном экземпляре на событие в форме, а потом попробуй ее закрыть. Net он и в Африке - Net. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 12:39 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
SilverlightСмотрел. В Prism - WeakEvent. Сева, я уже много раз Вам говорил - мне не нужны никаки призм и прочая хрень, мне не нужны левые библиотеки а-ля WPF-Toolkit и подобная муть, мне не нужны левые сборки от левых людей. Мне нужна готовая полноценная техноогия (WPF). WPF, который был в VS2008 - просто непригоден к девелопу. Что-бы написать что-то более или менее сложное - нужно у себя в проекте создать сборную солянку различных выпердов и библиотек. В топку. В VS2010 многое изменилось и многое добавилось. Это хорошо. Но пока WPF сыровата, хотя идея разметки XAML просто гениальна. SilverlightНичего сама WInForms не делает.Подпишись в глобальном экземпляре на событие в форме, а потом попробуй ее закрыть. Net он и в Африке - Net. Во-первых, про "глобальный" экземпляр я ничего не говорил. Не нужно вилять в сторону. Во-вторых, когда этот экземпляр будет отдестроен - он автоматом отпишется от тех событий, на которые был когда-то подцеплен. В-третьих, "глобальные" экземпляры с подпиской на "локальные" собыия - это зло, сами знаете. В-четвертых, не уходите от темы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 12:54 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУWPF, который был в VS2008 - просто непригоден к девелопу. Что-бы написать что-то более или менее сложное - нужно у себя в проекте создать сборную солянку различных выпердов и библиотек. В топку. Вот поэтому для меня (и не только) странно, как Вы, Сева, умудрились в те времена работать и разрабатывать "надежные" безотказные системы на WPF. Как не погляжу, у Вас чуть не в каждом посте ссылки на какие-то сказочные библиотеки, педали и подставки под грабли. Что у Вас, вообще, за проект такой? Сколько миллионов раз я просил Вас набросать примеры этих проектов, описать идеологии проектов. Ни разу Вы ни сподобились этого сделать. Секретность? Сказочность? Краснобайство? Не знаю. Вот поэтому и сомнения... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 12:58 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
И вот сегодня я узнаю о шаблонах WeakEvent. Я в шоке от уведенного... Сева, вопрос в лоб: Вы можете скинуть простой пример, показывающий практику MVVM + WeakEvent в действии? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 13:01 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУСекретность? Сказочность? Краснобайство? Все достаточно серьезно. Есть такая профессия . Делать что-то совсем не обязательно, главное - проповедовать и пополнять стадо (по доброму). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 13:17 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУИ вот сегодня я узнаю о шаблонах WeakEvent. Я в шоке от уведенного... Сева, вопрос в лоб: Вы можете скинуть простой пример, показывающий практику MVVM + WeakEvent в действии? Идеалогию я уже описывал. Для WPF приктически все есть, единственное, что понадобилось - своя система навигации b базовые классы для MVVM. Код из Prism для DelegeteCommand Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 2 iscrafm, рассказывай в другом месте сказки о системах на все случаи жизни, где нет кода совсем . На это могут клюнуть только конфигурасты из 1C. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 13:45 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
iscrafm профессия Developer Evangelist это сильно P.S. Когда-то коллекционировал перлы Севы... (по-доброму) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 13:47 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУ... хотя идея разметки XAML просто гениальна.Ещё бы XAML не на базе XML сделали... Бытует мнение, что "лень - двигатель прогресса" (с). Оказывается, это не так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 13:51 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
SilverlightМСУСева, вопрос в лоб: Вы можете скинуть простой пример, показывающий практику MVVM + WeakEvent в действии? Идеалогию я уже описывал. Для WPF приктически все есть, единственное, что понадобилось - своя система навигации b базовые классы для MVVM. Сева, Вы меня не поняли. Еще раз: напишите простой проект , показывающий практику MVVM + WeakEvent в действии. P.S. Я хочу его запустить и пощупать. Если будут замечания - вынесу их на всеобщее обозрение. Вроде не первый год на форумах, а приходится повторять... Я жду от Вас проекта под любую версию студии. P.S2. У меня заняло написание проекта MVVM для Композитума минут 15. Ни у кого вопросов не возникло (кроме Шайтана ) - всем всё ясно и понятно. От Вас же искра этого проекта добивался - разрывая гортань. Давайте не будем включать задние скорости и писать множество букв - просто напишите боевую практику MVVM + WeakEvent на простом хеллоу-ворлд. И будет Вам всеобщий респект, уверяю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 13:55 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Алексей КЕщё бы XAML не на базе XML сделали... Бытует мнение, что "лень - двигатель прогресса" (с). Оказывается, это не так. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 13:55 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУСева, Вы меня не поняли. Еще раз: напишите простой проект , показывающий практику MVVM + WeakEvent в действии. Я приаттачил хеллоу-ворлд с WeakEvent. Но этой гадости в реальных проектах я видеть не хочу. Проще самозастрелиться. На чашах весов (у меня, по крайней мере) стоят: WPF или WinForms. Если я не дождусь от Вас MVVM + WeakEvent, я пакую в печку WPF. Будьте мужчиной, выполните свою миссию - выделите безграмотным детям реальное пацанское решение без учетки памяти новинки WPF. В предвкушении пацанского проекта. Жду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 14:00 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
просить-требовать-ждать-... от СеВы проекта - это какя-то игра в ветке "WPF, Silverlight"? судя по темам - уже около года в неё играют разные люди. Но СеВа - это ж кремень! никаких своих исходникофф ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 14:04 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУАлексей КЕщё бы XAML не на базе XML сделали... Бытует мнение, что "лень - двигатель прогресса" (с). Оказывается, это не так. :) мимо шёл, смотрю шумно тут у вас. Алексей, а что с xml-то не так? Стоит пару раз заглянуть в файлы .ora, чтобы навечно полюбить xml. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 14:36 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Тоже не зло замечу. Все заштатные ваятели нетленок на sql.ru - редкие хамамы и истерички.Все остальные для них стадо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 14:42 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
buredМСУАлексей КЕщё бы XAML не на базе XML сделали... Бытует мнение, что "лень - двигатель прогресса" (с). Оказывается, это не так. :) мимо шёл, смотрю шумно тут у вас. Алексей, а что с xml-то не так? Стоит пару раз заглянуть в файлы .ora, чтобы навечно полюбить xml.Да начиная с невозможности закоментировать часть элемента... Ну это ж XML, чё тут рассказывать. :-)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 14:49 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУМСУСева, Вы меня не поняли. Еще раз: напишите простой проект , показывающий практику MVVM + WeakEvent в действии. Я приаттачил хеллоу-ворлд с WeakEvent. Но этой гадости в реальных проектах я видеть не хочу. Проще самозастрелиться. На чашах весов (у меня, по крайней мере) стоят: WPF или WinForms. Если я не дождусь от Вас MVVM + WeakEvent, я пакую в печку WPF. Будьте мужчиной, выполните свою миссию - выделите безграмотным детям реальное пацанское решение без учетки памяти новинки WPF. В предвкушении пацанского проекта. Жду. Возьми нормальную реализацию ICommand & IEventAggregator из Prism и получишь все, что нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 14:55 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Алексей КДа начиная с невозможности закоментировать часть элемента... Ну это ж XML, чё тут рассказывать. :-)) Скорее вего это проблема парсера, а не самого XML как такового. Ведь в ASP.NET'е можно же комментить шматками декларативный код в разрезе элемента. Developer EvangelistТак. Как я понимаю, Севин "проект" в топке? ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 14:56 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУСева, Вы меня не поняли. Еще раз: напишите простой проект , показывающий практику MVVM + WeakEvent в действии. ... SilverlightВозьми нормальную реализацию ICommand & IEventAggregator из Prism и получишь все, что нужно. Ах, да. Чтож это я совсем. Нужно всего-то взять нормальную реализацию ICommand & IEventAggregator из Prism и я получу, что нужно. Отлично! P.S. Когда меня менеджер спросит: "Данил, мать твою, где программа, которая должна уже работать у заказчика?!!" я тупо отвечу: "Ёп, дак пусть заказчик возьмет нормальную реализацию ICommand & IEventAggregator из Prism и всё будет работать". P.S2. Великолепно. Как всегда, великолепно. ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 15:01 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Тогда это вопросы не ко мне. Обращайся в Искру, кода там нет, нужно только мышкой ловко орудовать, остальное все само делается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 15:14 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Silverlight 2 iscrafm, рассказывай в другом месте сказки о системах на все случаи жизни, где нет кода совсем . На это могут клюнуть только конфигурасты из 1C. Сева, конфигурастам, как ты выразился, в отличие от тебя есть что показать. Не нужно к ним так пренебрежительно относиться. Что касается систем без кода, то ты вроде как сам такое проповедуешь... Запутался совсем? Что касается меня, то я "сказки" всегда показываю и подтверждаю. Некоторых это даже бесит, потому что против реальности флудить тяжело Так что не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 15:14 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Аргумент железный. Зачем ты нужен заказчику, если он сам пишет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 15:15 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Примерный схрон Севиных рекомендаций по правильной разработке (namespace sql.ru): Люди не меняются...Форум №3 - Топик № 345 - 04.03.08 - Установите себе компонент № 57, подтяните референс, используйте инферфейс № 79345 Форум №7 - Топик № 3 - 09.03.08 - Да всё просто, нужно тупо заюзать паттерн № 7 Форум №3 - Топик № 34 - 10.03.08 - Вы все ламеры! Форум №7 - Топик № 23 - 19.03.08 - Вышла новая версия Expression Blend, там есть компонент № 75, используй интерфейс № 89 Форум №34 - Топик № 12 - 27.03.08 - Вышла новая версия Expression Blend, там есть компонент № 75, используй интерфейс № 89 Форум №4 - Топик № 132 - 30.03.08 - Скачай себе плагин № 739 к студии, который тебе будет генерить нужный xaml Форум №4 - Топик № 132 - 11.11.09 - ? ... шли годы ... Форум №9 - Топик № 2 - 27.04.08 - МСУ, ты и твоя братва - ламеры. Мне не нравятся ламеры. Всехнах! ... шли годы ... Форум №19 - Топик № 7 - 20.05.10 - Где код?!! Форум №19 - Топик № 7 - 20.05.10 - ICommand и IEventAggregator из Prism. И всё! Искра гавно - IEventAggregator рулит! Форум №19 - Топик № 7 - 20.05.10 - Чё? Да ты ... нах ... дыщ! ... /мат поскипан/ Форум №19 - Топик № 7 - 20.05.10 - Чё? Да ты ... /Модератор/ Будешь ругаться - побаню! Форум №19 - Топик № 7 - 20.05.10 - Композитум втыкает в MVVM... ... шли годы ... Форум №19 - Топик № 7 - 12.12.14 - Композитум: А почему мой автокад + WPF жрет стока ресурсов? ... шли годы ... Форум №19 - Топик № 7 - 25.10.15 - Скачай Prism, там всё есть! Форум №19 - Топик № 7 - 25.10.15 - Дай код, что делать, почему всё плохо? Форум №19 - Топик № 7 - 25.10.15 - Скачай Prism, там всё есть! IEventAggregator тебе поможет. ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 15:20 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
iscrafmSilverlight 2 iscrafm, рассказывай в другом месте сказки о системах на все случаи жизни, где нет кода совсем . На это могут клюнуть только конфигурасты из 1C. Сева, конфигурастам, как ты выразился, в отличие от тебя есть что показать. Не нужно к ним так пренебрежительно относиться. Что касается систем без кода, то ты вроде как сам такое проповедуешь... Запутался совсем? Что касается меня, то я "сказки" всегда показываю и подтверждаю. Некоторых это даже бесит, потому что против реальности флудить тяжело Так что не нужно. Нет, не запутался. Я за код, который у меня всегда под рукой, который можно изменить под конкретную задачу, чтобы было минимум кода. Если есть глюки, то не сидеть ждать кого-то, а сделать это самому. Выбираю только то,что дает возможность сменить нужный слой без переделки всего остального. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 15:22 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Silverlight Нет, не запутался. Я за код, который у меня всегда под рукой, который можно изменить под конкретную задачу, чтобы было минимум кода. Если есть глюки, то не сидеть ждать кого-то, а сделать это самому. Выбираю только то,что дает возможность сменить нужный слой без переделки всего остального. пока, к сожалению, у тебя только ссылки на блоги под рукой, гуглишь ты хорошо. Кода не видно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 15:25 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУ, ничего другого я не ожидал. Понятно, что с заказчиками, которые деньги платят и сами потом все пишут,можно особо не напрягаться. Зачем тебе еще WPF? И так все замечательно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 15:27 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Сева, призвание евангелиста заключается в том, чтобы на своем примере научить и привлеч паству. Что-то у тебя с этим не очень хорошо получается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 15:27 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
iscrafmпривлеч привлечЬ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 15:29 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
SilverlightМСУ, ничего другого я не ожидал. Понятно, что с заказчиками, которые деньги платят и сами потом все пишут,можно особо не напрягаться. Зачем тебе еще WPF? И так все замечательно Это всё на тему "напишите простой проект, показывающий практику MVVM + WeakEvent в действии"? Скудненько... P.S.Ничего другого я не ожидал (c) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 15:29 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУ Форум №19 - Топик № 7 - 12.12.14 - Композитум: А почему мой автокад + WPF жрет стока ресурсов? Форум №19 - это ASP.Net: Там я вопросов не задавал. Насчёт ресурсов тоже не помню, чтобы задавал вопроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 15:29 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
CompositumМСУ Форум №19 - Топик № 7 - 12.12.14 - Композитум: А почему мой автокад + WPF жрет стока ресурсов? Форум №19 - это ASP.Net: Там я вопросов не задавал. Насчёт ресурсов тоже не помню, чтобы задавал вопроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 15:30 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Даниил, откуда столько желчи? Вопрос риторический, многие люди действительно не меняются (к сожалению)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 15:33 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
iscrafmСева, призвание евангелиста заключается в том, чтобы на своем примере научить и привлеч паству. Что-то у тебя с этим не очень хорошо получается. Это тебе привлекать нужно, мне нет в этом необходимости. Зачем мне учить МСУ? Пусть скачает Prism(полно другого материала) и смотрит, но не барское это дело. Я должен разжевать и на блюдечке принести. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 16:51 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Вопросы дилетанта. Планирует ли M$ сделать свою реализацию MVVM в составе FW? Каковы дальнейшие тенденции развития WPF (ну и SL до кучи) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 16:52 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Цирк :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 16:53 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
bured, лол. кто в главных ролях? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 16:59 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Короче, для себя я понял главное - WPF как был несьедобен в vs2008 (отсутствие вменяемой компонентной модели, убогий дизайнер, отсутствие MDI, утечка ресурсов и иже), так он и остался несьедобен в vs2010 (утечка ресурсов). Писать чудо света на сырых технологиях я просто не имею права, особенно если вопрос касается утчеки ресурсов. Выводы: в топку. Вводы: Проверенные надежные гуевые технологии, как и раньше: ASP.NET (MVC) и WinForms. P.S. Всем спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 17:00 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
SilverlightiscrafmСева, призвание евангелиста заключается в том, чтобы на своем примере научить и привлеч паству. Что-то у тебя с этим не очень хорошо получается. Это тебе привлекать нужно, мне нет в этом необходимости. Зачем мне учить МСУ? Пусть скачает Prism(полно другого материала) и смотрит, но не барское это дело. Я должен разжевать и на блюдечке принести. я думаю он уже давно разобрался во всем. Вопрос стоит "разобрался ли ты?". По наблюдениям, более года ты просто занимаешься репродукцией гугла на SQLRU. Сколько не было просьб показать пример использования - все без ответа. Доходило даже до того, что свои же ссылки на чужие примеры называл примитивными, но более толкового так и показал. Увы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 17:03 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Ни одна нормальная среда программирования (плас-плас, дельфи, васик, повербилдер и иже) или фреймворк (WinForms, ASP.NET) не позволила бы себе такой дури, как ручная отписка от событий (кроме особых случаев, когда это подразумевает логика). Банально, нахрена мне отписываться от банального хеллоуворлдного Button Click, когда программёр дабл-кликнул батон на форме в дизайнере? WinForms отписывается и диспоузит экземпляр класса при protected override void Dispose , который тупо генерит дизайнер. Никаких тебе утечек. В ASP.NET вообще всё проще - ASP.NET Page Life Cycle . Когда страничка отдана клиенту, происходит Unload. В плас-пласе, дельфи и иже за этим следят свои Memory/Resource Leak менеджеры а-ля как движок FastMM, который вкусен в Multi-Threaded аппликухах, которые умно юзают Memory Fragmentation (особенно в External DLL). И тому подобное. Все вменяемые технологии не парят моск программиста такими рутинными вещами, как манагерство памяти (речь не о дельфийских FreeAndNil, а о более Memory Leak). И тут появляется WPF, а котором я должен для банального евента писать свой IWeakEventListener и свой WeakButtonEventManager. Причём, евентов у меня может быть сколь угодно разных по типу и назначению. Я что, мазохист? Вы посмотрите на объем кода, который я привел выше. И это для банального Button.MouseDown. Убиться ап стену, нахрен мне это нужно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 17:31 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
2 МСУ Странно... В аське Вы мне писали, что Вам вроде как понравилась связка WPF + MVVM (мол это просто супер и т.п.)... Сейчас пишете совершенно противоположное... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 17:43 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Ответ один (я уже писал об этом): всему виной в WPF спешность сдачи технологии, реклама и фантики тоже иногда торопят девелоп. Мало того, разработчики не успели припаять MDI (а это далеко не тривиальная задача), как это сделано в винформзах, так они еще накосячили с внутренним Memory Leak в движке. На что я слышал ответы ламеров: 1) MDI? Дак это нах не нужно - используйте табы, типа модно. На что я отвечаю: какое их собачье дело, - мне навязывать не нужно. Я сам знаю, что мне нужно использовать. Дайте мне только инструмент. Все вменяемые вин среды дают возможность строить MDI. Где MDI в WPF? Вывод - тупо сроки, тупо не успели... 2) Утечка памяти. Тут вообще абзац. Не успели или накосячили - неважно. Ребята из MS быстренько ваяют статью, датированную ноябрем 2007 года, мол следите за памятью сами, реализовывайте свои менеджеры ресурсов. С какой такой радости, а? P.S. WPF - замечательная идея, воплощенная в жизнь, паттерн MVVM - порсто идеален, особенно для покрытия автотестами гуя (даже робот не нужен). Но - сыро. А сырая платформа мне и моей компании (я не думаю, что я тут одинок) не нужна . Делу не помогут даже сферические сказочные Prism и IEventAggregator, которые так боится показать в своём хеллоуворлдном проекте наш отец технологий. Угадайте, о ком я говорю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 17:44 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУИ тут появляется WPF, а котором я должен для банального евента писать свой IWeakEventListener и свой WeakButtonEventManager. Причём, евентов у меня может быть сколь угодно разных по типу и назначению. Я что, мазохист? Вы посмотрите на объем кода, который я привел выше. И это для банального Button.MouseDown. Убиться ап стену, нахрен мне это нужно МСУ, я другой код приведу Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 17:45 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Compositum2 МСУ Странно... В аське Вы мне писали, что Вам вроде как понравилась связка WPF + MVVM (мол это просто супер и т.п.)... Сейчас пишете совершенно противоположное... Андрей, когда Вы уже научитесь читать, а не говорить? P.S. Для непонятливых: сегодня я узнал страшную новость. WPF - это сплошная утечка ресурсов :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 17:45 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Silverlight МСУ, я другой код приведу Код: plaintext 1. 2. 3. 4. Действительно, всё так просто. И зачем мелкософтцы написали эту статью , ума не приложу :) P.S. Сева, пока не будет проекта, о котором я говорил выше, Ваши жалкие попытки сунуть мне под нос какой-то левый код, ни о чем не говорящий, будут сливаться в туалет. Я хочу говорить с профессиналом, а не с клоуном. К сожалению, делаю вывод, что у нас с Вами ничего не получится. А жаль. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 17:50 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
MCУ, я тебе давно писал, что нам с тобой не о чем разговаривать. Твой бред неинтересен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 18:03 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Подозреваю, что проблема утечки памяти присутствует не только в WPF, однако из-за этого вряд ли кто-то откажется от .net программирования. MSDN рекомендует мониторить память вне зависимости от того, WPF это или нет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 18:22 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУВыводы: в топку.Нет! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 19:13 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Алексей КМСУВыводы: в топку.Нет! ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 19:20 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Алексей КМСУВыводы: в топку.Нет! Правильно. В Prism есть нормальные ICommand c реализацией через слабые ссылки.Однако это не значит, что нужно не убирать за собой, как это привык делать МСУ. Бредовый пример МСУ, показывает только, как не нужно делать в WPF, и только. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 19:24 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
МСУАлексей КМСУВыводы: в топку.Нет! ?Масса преимуществ? ЗЫ: Все-таки масштабы бедствия с утечкой памяти ты сильно преувеличил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 19:25 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
SilverlightОднако это не значит, что нужно не убирать за собой.Но тут проблема в том, что WPF не убирает за собой и в MSDN об этом ни слова. :-) Впрочем, есть простое решение и к этой проблеме можно больше не возвращаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2010, 19:28 |
|
||
|
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
|
|||
|---|---|---|---|
|
#18+
Алексей КМасса преимуществ? Согласен, тут согласен. Алексей КЗЫ: Все-таки масштабы бедствия с утечкой памяти ты сильно преувеличил. Но, так или иначе, утечка есть и это пугает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2010, 09:41 |
|
||
|
|

start [/forum/topic.php?all=1&fid=21&tid=1442794]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
33ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
100ms |
get tp. blocked users: |
1ms |
| others: | 9ms |
| total: | 169ms |

| 0 / 0 |
