5 votes

Une application Silverlight dans un navigateur Web WPF ?

J'ai une question que j'espère triviale. Actuellement, ma société travaille avec un langage plutôt obscur (SyngergyDE) et nous avons besoin d'appeler une application SilverLight dans notre produit. Malheureusement, cet obscur langage tiers ne supporte (actuellement) que l'ouverture d'écrans WPF. Donc avec cela dit, j'ai pensé développer un petit contrôle utilisateur WPF qui contient un contrôle "WebBrowser" et naviguer vers l'URI de l'application Silverlight. Cela fonctionne bien, et je suis en mesure de voir l'application SL. Voici ma question - nous avons un bouton "Close" sur l'application SL, et lorsque les utilisateurs "cliquent" sur ce bouton, nous voulons que la fenêtre se ferme.

Quelqu'un a-t-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 l'ensemble du contrôle utilisateur WPF se ferme également ?

Merci à tous,

-Tom

1voto

AnthonyWJones Points 122520

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

Faites en sorte que le bouton de fermeture de l'application Silverlight utilise:-

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

Lorsque l'événement Navigated se déclenche dans WPF avec l'url "about:blank", il est temps de fermer le contrôle.

0voto

Judah Himango Points 27365

Utilisez Javascript et le DOM HTML comme colle ici.

Par exemple, lorsque l'on clique sur le bouton de fermeture de l'application SL, Silverlight déclenche un code Javascript qui met un drapeau en place, ou bien déclenche un événement de document HTML.

Le contrôle WPF pourrait interroger ce drapeau dans le HTML + Javascript, ou alternativement écouter cet événement de document HTML, puis fermer le contrôle utilisateur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X