powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
25 сообщений из 168, страница 3 из 7
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36635370
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Silverlight2 iscrafm, я это сделаю быстрее и проще, чем ты со своей искрой. Для тебя сынок, это, действительно, будет фантастикой. Могу поспорить на твой ноутбук.
СеВа, не устраивай здесь очередной цирк. Во-первых, при чем здесь Искра? А во-вторых, могу тебе напомнить, что уже среда, клоун. Быстрее ты собирался еще в выходные сделать. В прочем, речь не об этом, а о твоем примере, который покажет "правильное" понимание того, что такое MVVM. Именно о нем речь и шла, как о фантастике. Не мусорь, плз. Давай пример.
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36635422
Silverlight
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
искра при том, что я как-то имел неосторожность сказать, что подобные черные ящики не нужны. После этого ты неровно дышишь.

Пример будет простой и кода в нем практически не будет:
1. Генерим в ЕF два класса: MyList, ListItem. В ListItem нужно будет задать ленивую выборку дочерней коллекции.
2. Создаем пустой контроллер, наследуясь от базового
MyListController : ListController<MyList> {}.
Он осуществляет выборку данных, затем вызывает сервис для отображения окна.View создается автоматически
3. View тоже не содержит кода, а наследуется от базового
4. В zaml к кнопкам делаем привязку к команде вызова нужного окна.

Минимум кода и телодвижений. При этом у меня полный контроль в отличии от твоей искры, в любой момент можно внести изменения.
Мультик сделаю чуть позже, сейчас на эту показуху нет времени.
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36635574
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Compositum2 МСУ
Даниил, из перечисленного мною здесь , какие замечания можете дать?
Замечаний, как таковых нет, просто описано сумбурно и много текста. Напоминает какой-то свой специфический паттерн "Начало получения функциональной спецификации - ... - Конец разработки". Вообщем, ничего конкретного сказать не могу по Вашему варианту.

Compositumи заодно насчёт вашего примера поподробнее если можно.... В смысле у вас есть оформленный пример, в котором используется MVVM?
Сева опередил. Поюзайте дерево на MVVM с кодепрожекта, хороший пример.
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36635707
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Silverlight
Спасибо за линк, обязательно прочту его, на данный момент читаю это , затем хочу прочесть это (всё-таки на русском...). После чего возьмусь за вашу ссылку и ещё за эту .

2 iscrafm
Прошу вас, давайте не будем начинать грызню.

p.s. Мне нужно будет написать плагин для AutoCAD (библиотека блоков). GUI будет полностью написан на WPF, блоки будут храниться в файлах, поскольку сериализовать их в поток байтов не удастся (к сожалению). В настройках плагина можно будет выбрать тип хранилища: файловая система или БД MS SQL Server. В общем-то плагин на 90% уже написан, но хочу разобраться с MVVM и переписать его, оформив всё в виде статьи. Т.е. это получится реальный пример из жизни - библиотека предназначена для корпоративного использования проектировщиков, работающих в САПР AutoCAD. В БД не десять таблиц, но и не две:



Скрины GUI сейчас показывать не буду, т.к. хочу их полностью переделать (упростить).
Затем с интересом выслушаю конструктивные замечания по опубликованному мною и, в случае необходимости, внесу корректирующие изменения. Линк выложу либо в этом топике, либо создам новый.
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36635712
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
п.с. авторпоскольку сериализовать их в поток байтов не удастся (к сожалению).
"Их" - это блоков, а не файлов (уточнение).
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36635828
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей, накидал Вам простой пример MVVM (на моих любимых DelegateCommand). Смотрите. Будут вопросы - задавайте.
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36635831
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vs2010, забыл уточнить.
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36635844
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там есть два варианта работы самой модели: Book и Users. В первой модель оснащена логикой по выдаче и сдаче товара. Во второй - логики нет, она перенесена в свою вьюмодель (UsersViewModel).
Наиболее правильным является второй вариант, имейте это ввиду.
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36635850
Silverlight
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если плагины, то смотри MEF. Входит в состав net 4(system.componentmodel.composition), на нем реализована поддержка плагинов в VS 2010. Специально разрабатывался для поддержки расширений. Серилизовать в байты не нужно, оформляешь свои компоненты в виде dll, каждая экспотируемая часть(parts - визуальный контрол, сервисы, viewmodel, etc) должна содержать аттрибут Export, затем МЕF контейнеру задаешь DirectoryCatalog для композиции, он загружает dll из этого каталога, регистрирует parts, их рагистрацию можно отследить и обработать(зарегистрировать пункты меню, выполнить определенные действия и тд). Если стоит аттрибут Import, то нужное свойство или метод, автоматически инжектятся(можно обойтись без DI контейнеров). Весьма мощное и удобное средство
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36635854
Silverlight
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУ, правильный пример дал
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36635884
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SilverlightМСУ, правильный пример дал
Код юзали? Вариант с Book:ViewModelBase мне не нравится, хотя так многие делают, как я заметил.
По мне, более вкусным вариантом является User:ViewModelBase + UsersViewModel:ViewModelBase. Оно как-бы разделяет принципы логики.
Хотя для тех же автотестов по-барабану, как использовать, борщ тот же самый.
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36635888
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UsersViewModel криво назвал. Нужно UserViewModel. Ну да ладно, Композитум поймёт, что к чему.
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36635895
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУUser:ViewModelBase + UserViewModel:ViewModelBase
В чем плюс использования ORM EF или Linq 2 SQL. В том, что в автогенерируемых маппингах (сущностях) уже реализован INotifyPropertyChanged, и поэтому надобность в User:ViewModelBase отпадает.
Получается так: User + UserViewModel:ViewModelBase
Вариантов остается так же два: вносить логику в User (через дополнительный partial класс) или писать UserViewModel. Я склоняюсь к UserViewModel, как уже говорил.
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36635898
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SilverlightВходит в состав net 4(system.componentmodel.composition)
Спасибо, я обязательно посмотрю данную тему применительно к версиям AutoCAD 2011 (которая уже вышла) и выше, но к сожалению, по факту наши пользователи работают с версией AutoCAD 2009, который для части своего функционала использует .Net Framework 3.0. Мне удаётся подключать к нему плагины, написанные на .Net 3.5, но подключить то, что написано на .net 4.0 не удаётся - не ест он это...
Т.о. на данный момент я ограничен в использовании версий фрэймворка... (((
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36635906
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАндрей, накидал Вам простой пример MVVM (на моих любимых DelegateCommand). Смотрите. Будут вопросы - задавайте.
спасибо! буду разбираться )
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36635912
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CompositumМне удаётся подключать к нему плагины, написанные на .Net 3.5, но подключить то, что написано на .net 4.0 не удаётся - не ест он это...
Т.о. на данный момент я ограничен в использовании версий фрэймворка... (((
Почему? Что мешает доустановить юзверю четвертый фрейм? Благо, хорошо сжали - дистриб вышел в пол-сотни метров.
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36635955
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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]
самое оно.
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36636053
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ
Почему? Что мешает доустановить юзверю четвертый фрейм? Благо, хорошо сжали - дистриб вышел в пол-сотни метров.
В каталоге, содержащем acad.exe имеется и файл acad.exe.config со следующим содержимым:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<configuration>
   <startup>
<!--We always use the latest version of the framework installed on the computer. If you
are having problems then explicitly specify .NET  2 . 0  by uncommenting the following line.-->
		<supportedRuntime version="v2.0.50727"/>
   </startup>
<!--All assemblies in AutoCAD are fully trusted so there's no point generating publisher evidence-->
   <runtime>        
	<generatePublisherEvidence enabled="false"/>    
   </runtime>
</configuration>
Ежели я поменяю версию Runtime на v4.0.30319 (дабы работа шла через 4-й фрэйм), то это всё равно не позволит запускать в AutoCAD 2009 плагины, написанные на .Net 4.0:
Сообщение, получаемое при попытке подключить плагин, написанный на .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-го фрэйма.
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36636149
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СеВа, речь не идет об Искре (при чем она здесь вообще, знает только твое воспаленное сознание), речь идет о "правильном" понимании MVVM, которое ты обещал продемонстрировать . Мне интересно только это и ничего более. Ты как полный неадекват приплетаешь ее везде, когда не можешь родить банальный пример, подтверждение своих слов. Не начинай сварку.


OFF - исправление неточностей

Искра не является черным ящиком.
В Искре вообще нет кода, даже практически, как ты говоришь.
полный контроль и в любой момент можно внести изменения.
по принципам, которые позже описаны как MVVM она живет с 2003 года
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36636174
Silverlight
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36636200
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CompositumТ.о. делаю вывод, что в AutoCAD 2009 не удастся заюзать библиотеки, написанные на .Net 4.0. Либо вместо v4.0.30319 нужно прописать что-то другое, что укажет на версию 4-го фрэйма.
Ну хз, я в автокаде лам. Странно, что они жестко привязалсиь к версии фрейма... Какая им нафик разница какой версии CLR будет байткодить MSIL, зачем программистам так руки скручивать...
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36636206
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36636226
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ
Ну хз, я в автокаде лам. Странно, что они жестко привязалсиь к версии фрейма... Какая им нафик разница какой версии CLR будет байткодить MSIL, зачем программистам так руки скручивать...
Есть многое на свете [ в AutoCAD ] друг Горацио, что и не снилось нашим мудрецам... (с)
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36636281
Silverlight
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iscrafmСеВа, речь не идет об Искре (при чем она здесь вообще, знает только твое воспаленное сознание), речь идет о "правильном" понимании MVVM, которое ты обещал продемонстрировать . Мне интересно только это и ничего более. Ты как полный неадекват приплетаешь ее везде, когда не можешь родить банальный пример, подтверждение своих слов. Не начинай сварку.


OFF - исправление неточностей

Искра не является черным ящиком.
В Искре вообще нет кода, даже практически, как ты говоришь.
полный контроль и в любой момент можно внести изменения.
по принципам, которые позже описаны как MVVM она живет с 2003 года

Если не черный, в чем я очень сомневаюсь, то монолитный. Можно заменить твои сервера с непонятными протоколами на стандартные, и использовать EF или Ria Services? MVVM был описан давно, но без биндинга xaml и его расширяемости, он неинтересен.
Если использовать стандартные варианты - xaml,SOAP,ORM и отбросить твои уже никому не нужные серверы и скриптовые движки, то от искры ничего не останется.
ЗЫ НА ViewModel у меня все построено. Они создаются автоматически при вызове контроллера(с помощью того же MEF) или это можно переопределить. Мало того, в контроллере можно задавать инициализаторы ViewModel, а в них динамически добавлять свойства и методы для последних. В большинстве случаев переопределять базовые классы ViewModel не приходится. Вся логика вынесена в контроллеры. Кода минимум, будет время специально для тебя сделаю мультик. Тогда сам увидишь почему не нужна твоя Искра.

ЗЫЫ Последняя версия исходников меf на codeplex пошла в 4.0. Под 3.5 она работает точно
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36636374
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SilverlightЕсли не черный, в чем я очень сомневаюсь, то монолитный. Можно заменить твои сервера с непонятными протоколами на стандартные, и использовать EF или Ria Services?

опять в молоко. Можешь использовать EF и Ria Services, не запрещаю. Только при чем здесь Искра? Кстати, если тебе протокол TCP/IP непонятен, то есть просто множество источников инормации в Интернет.


SilverlightНА ViewModel у меня все построено. Они создаются автоматически при вызове контроллера(с помощью того же MEF) или это можно переопределить. Мало того, в контроллере можно задавать инициализаторы ViewModel, а в них динамически добавлять свойства и методы для последних. В большинстве случаев переопределять базовые классы ViewModel не приходится. Вся логика вынесена в контроллеры.

Ничего у тебя не построено. Кого ты вводишь в заблуждение?


SilverlightКода минимум, будет время специально для тебя сделаю мультик. Тогда сам увидишь почему не нужна твоя Искра.

Если за год времени не появилось, то ждать чуда не приходится. Ты просто трепло и фантазер-теоретик.

p.s. вопрос был о хорошем примере, иллюстрирующем сущность MVVM, если ты забыл.
...
Рейтинг: 0 / 0
25 сообщений из 168, страница 3 из 7
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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