2010-03-29 2 views
1

Резюме:Как подключить Silverlight OOB к панели Winforms?

Я хочу красивости Silverlight/WPF в части моего текущего приложения WinForms. Приложение может иметь доступ только к полной платформе .NET Framework 2.0, не более и не менее. Единственная возможность, о которой я могу думать, - приложение Silverlight OOB, которое использует Com + Automation, но я не могу понять, как прикрепить приложение Silverlight к панели в родительском приложении Winforms.

Деталь:

Я в настоящее время приложения WinForms, и хочу воспользоваться преимуществами усовершенствованных функций GUI в WPF, но для многих из моих пользователей все еще работает .Net Framework 2.0 и отказаться от обновления до 3 +. Поэтому WPF для меня не вариант.

Я знаю, что Silverlight - это всего лишь подмножество WPF, но у него есть большинство функций, которые я ищу, и требуется только плагин Silverlight. Я читал о компиляции Silverlight 4 Com + Automation, которая давала бы мне доступ к полному рабочему .Net Framework 2.0 (который мне нужен). Для того, чтобы Com + Automation работала в Silverlight, мне нужно повышенное доверие, и единственный способ найти повышенное доверие - сделать приложение Silverlight Out-Of-Browser (OOB).

Моя проблема заключается в том, что приложение OOB, кажется, запускается в своем собственном окне контейнера, и мне нужно приложение Silverlight, встроенное внутри панели в мое приложение Winforms. Приложению My Winforms не нужно связываться с приложением Silverlight, и наоборот, это просто, чтобы все содержалось и отображалось в одном окне.

Если есть другой способ получить желаемый результат, который я не думал об этом, не стесняйтесь предлагать его.

ответ

4

Лучшим вариантом является размещение Silverlight content within a WebBrowser Control. Это позволит вашему содержимому Silverlight запускать «внутри» вашего приложения форм Windows.

Автоматизация COM не поможет встроенным Silverlight В приложение Windows Forms. Он действительно предназначен для использования COM из Silverlight, а не наоборот.

+0

Связь между двумя может быть достигнута посредством javascript и DOM. –

+0

Мне нужна COM-автоматизация для доступа к классам .NET Framework из Silverlight, поэтому мне нужно создать приложение OOB. Насколько я знаю, нет способа загрузить приложение OOB из элемента управления WebBrowser. – JohnMcCon

+1

@JohnMcCon: Я не думаю, что вы можете делать то, что описываете. Лучше всего использовать Рид, а затем использовать javascript для достижения связи между Silverlight и WinForm. –