Модераторы: gambit, Kefir, Partizan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> WPF UI в System.Addin, кто-нибудь так пробовал? 
V
    Опции темы
Partizan
Дата 18.6.2008, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 67



Добрый день...
собственно вопрос в следующем: есть ли возможность запихнуть какойнить WPF UI...ну допустим DockPanel с размещённой на ней элементами в Add-in(System.Addin), чтобы потом Хост-приложение могло размещать эту докпанель на себе и чтобы эта докпанель была полноценным элементом хост-приложения...
читал мсдн...там описаны ограничения, которые не позволяют делать с UI расположенным в Addin некоторые вещи...например такие как трансформация...

так вот может у когонить удачно получалось с использованием System.Addin разносить элементы UI по разным сборкам?


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Partizan
Дата 21.6.2008, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 67



=) судя по довольно маленькому количеству ответов, никто UI-parts приложения в System.Addin не запихивал...
в общем UI я туда запихнул...только когда я его дёргаю из плагина и располагаю на форме, он выглядит как обычный WinForms контрол...и никакие стили к нему почему-то не применяются...

мож кто знает как это обойти?


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Kefir
Дата 21.6.2008, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: 22
Всего: 87



Partizan, не работал с аддинами. Вообще, пока что не очень хорошо понимаю что ты пытаешься сделать. что значит "запихнуть какойнить WPF UI"?
PM MAIL WWW Skype   Вверх
Partizan
Дата 22.6.2008, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 67



суть такова:
1)есть некоторое приложение-хост...оно представляет собой главную форму...
2)есть множество других приложений, которые оформлены как add-inы...каждое из этих приложений имеет UI(Grid с дочерними элементами), который при желании может дёргаться хостом для последующего расположения в некой области главной формы.

так как Хост и Add-in загружаются в разные домены, то дёргать UI из Add-inов приходится через методы FrameworkElementAdapters::ViewToContractAdapter и FrameworkElementAdapters::ContractToViewAdapter...таким образом UI пересекает границы домена в который загружен Addin  и попадает в домен Хоста. В результате получается экземнляр некоего класса обёртки MS.Internal.Control.AddInHost(фактически насколько я понимаю передаётся просто hwnd UIElement-а и располагается на главной форме так же как и обычный WinForms контрол) =(


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Partizan
Дата 22.6.2008, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 67



в общем проблема со кастомным стайлингом UI-партов из addin-а решилась, но появилась другая:

надо чтобы UI выдернутый из add-inа наследовал стиль хост-окна...но и с этим я наверно справлюсь...
на днях отпишу что и как из этого получится...


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Partizan
Дата 27.6.2008, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 67



всё получилось, всё отлично...
скажу лишь что задача реализуема ибо описать всё вкраце очень тяжело.
так что если у кого-то будут подобные проблемы, обращайтесь =)


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
jonie
Дата 30.6.2008, 00:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 2
Всего: 118



sample дай) интересно ж...


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Partizan
Дата 30.6.2008, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 67



Всё будет =) только попозже чуть) на выходных не было времени писать статью)


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
lehin
Дата 2.4.2009, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 2.4.2009

Репутация: нет
Всего: нет



sample очень уж хочется увидеть) 
могу выложить свой пример - если есть время, хотелось бы услышать совет (как в приложение с docking-панелью встроить addin с другим winforms контролом)
не смог (пока) решить проблему с эксепшеном в PresentationFramework, возникающим при перемещении docking-панели и некорректным отображением контрола (не растягивается внутри контейнера в отличии от контролов, создаваемых в том же домене)

спасибо
PM MAIL   Вверх
xxxSeVa
Дата 3.4.2009, 10:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 31.3.2009

Репутация: нет
Всего: нет



Для plug-in'ов есть специально обученный framework - MAF Manager AddIn Framework with WPF
PM MAIL   Вверх
Partizan
Дата 3.4.2009, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 67



xxxSeVa, MAF == System.Addin....в топике о нём и речь...


lehin, руки пока дошли написать только одну статью о System.Addin...на подходе вторая...
но взаимодействие с UI-ными элементами из других доменов будет где-то в 3-й или 4-й статьях, которые, скорее всего будут в начале мая...


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Idsa
Дата 3.4.2009, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

Репутация: 2
Всего: 62



Последняя тенденция - ругать System.AddIn, хвалить MEF.

Partizan, может, ну его этот System.AddId? ;)


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
Partizan
Дата 3.4.2009, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 67



Idsa, нет-нет ) Это взаимодополняющие технологии..Основная фича System.Addin - изоляция плагинов... MEF обеспечивает другие вещи, очень, кстати сладкие, но не обеспечивает того, что даёт System.Addin smile


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
xxxSeVa
Дата 3.4.2009, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 31.3.2009

Репутация: нет
Всего: нет



Да, MEF совсем из другой серии.А зачем вам нужна эта изоляция в купе с дополнительными тормозами?Простой загрузки модулей по требонию не достаточно?Трудно представить вариант,где выгрузка критична.
PM MAIL   Вверх
Partizan
Дата 3.4.2009, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 67



xxxSeVa

если я разработчик некоего программного комплекса и у моего комплекса есть некоторый Public API, а я не хочу, чтобы бажные плагины сторонних разработчиков отваливали моё приложение, то использование изоляции было бы полезно


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.1272 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.