Приложение Silverlight внутри WPF WebBrowser? - PullRequest
5 голосов
/ 18 ноября 2010

У меня, надеюсь, тривиальный вопрос.В настоящее время моя компания работает с довольно неясным языком (SyngergyDE), и нам нужно вызвать приложение SilverLight внутри нашего продукта.К сожалению, этот неясный только сторонний язык (в настоящее время) поддерживает открытие экранов WPF.Исходя из сказанного, я решил разработать небольшой пользовательский элемент управления WPF, содержащий элемент управления «WebBrowser», и перейти к URI приложения silverlight.Это отлично работает, и я вижу приложение SL.Вот мой вопрос - у нас есть кнопка «Закрыть» в приложении SL, и когда пользователи «нажимают» эту кнопку, мы хотим, чтобы окно закрылось.

Есть ли у кого-нибудь какие-либо предложения о том, как мы можем сообщить «Закрытие приложения SL» пользовательскому элементу управления WPF, чтобы закрывать весь пользовательский элемент управления WPF?

Спасибо всем,

-Tom

Ответы [ 2 ]

1 голос
/ 19 ноября 2010

Присоединить обработчик события к событию WebBrowser.Navigated.

Используйте кнопку закрытия в приложении Silverlight: -

 HtmlPage.Window.Navigate(new Uri("about:blank", UriKind.Absolute));

Когда событие Navigated срабатывает в WPF с URL-адресом about: blank, тогда пора закрыть элемент управления.

0 голосов
/ 18 ноября 2010

Используйте Javascript и HTML DOM в качестве клея здесь.

Например, при нажатии кнопки закрытия приложения SL приложение Silverlight запускает некоторый код Javascript, который устанавливает флаг, или, альтернативно, вызывает событие HTML-документа.

Элемент управления WPF может опросить этот флаг в HTML + Javascript или поочередно прослушать событие этого документа HTML, а затем закрыть пользовательский элемент управления.

...