2010-11-18 7 views
5

J'ai une question que j'espère triviale. Actuellement, mon entreprise travaille avec un langage plutôt obscur (SyngergyDE) et nous devons appeler une application SilverLight à l'intérieur de notre produit. Malheureusement, ce langage obscur de tierce partie ne supporte (actuellement) que l'ouverture d'écrans WPF. Donc, avec cela dit, je pensais que je développerais un petit contrôle utilisateur WPF qui contient un contrôle "WebBrowser" et navigue vers l'URI de l'application silverlight. Cela fonctionne bien, et je suis capable de voir l'application SL. Voici ma question - nous avons un bouton "Fermer" sur l'application SL, et lorsque les utilisateurs "cliquent" sur ce bouton, nous voulons que la fenêtre se ferme.Application Silverlight dans WPF WebBrowser?

Quelqu'un at-il des suggestions sur la façon dont nous pouvons communiquer la «fermeture de l'application SL» au contrôle utilisateur WPF, de sorte que tout le contrôle utilisateur WPF se ferme également?

Merci à tous,

-Tom

Répondre

1

Attachez un gestionnaire d'événements à l'événement WebBrowser.Navigated.

Demandez le bouton de fermeture dans l'utilisation de l'application Silverlight: -

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

Lorsque l'événement se déclenche en WPF avec naviguais dans l'url « about: blank », alors il est temps de fermer le contrôle.

+0

Merci! Cela a fonctionné comme un charme. – arctek

0

Utilisez le Javascript et le DOM HTML comme la colle ici. Par exemple, lorsque vous cliquez sur le bouton de fermeture de l'application SL, Silverlight déclenche un code Javascript qui définit un indicateur ou, à la place, déclenche un événement de document HTML. Le contrôle WPF peut interroger cet indicateur dans le HTML + Javascript ou écouter alternativement cet événement de document HTML, puis ferme le contrôle utilisateur.

+0

Comment irait-on à l'écoute de l'événement de fermeture de document html? Je suis capable de fermer le contrôle WebBrowser via javascript (mais le contrôle utilisateur reste ouvert), mais je ne suis pas sûr de savoir comment "brancher" un écouteur au contrôle (WPF <-WebBrowser)? Mes excuses si c'est une question stupide. – arctek

Questions connexes