2011-09-27 6 views
4

J'ai une application Silverlight qui lance une autre application Silverlight dans une nouvelle fenêtre de navigateur. La nouvelle application Silverlight a un bouton appelé "Fermer". Lorsqu'un utilisateur clique sur « Fermer », je lance le code suivant:Silverlight - Fermer la fenêtre du navigateur

HtmlPage.Window.Invoke("close"); 

Ce code fonctionne sur IE très bien. Cependant, cela ne fonctionne pas dans Chrome. Comment puis-je écrire du code qui fermera la fenêtre dans IE et Chrome?

Merci!

Répondre

7

Il s'agit d'un problème connu dans le navigateur Chrome. Pour contourner, insérez la ligne suivante avant d'appeler « close »:

HtmlPage.Window.Invoke("open", new object[] {"", "_self", ""}); 
HtmlPage.Window.Invoke("close"); 
+0

1+ pour astuce pratique: Horrible que nous devons faire des choses comme ça :) –

+0

Cette ferme la fenêtre qui a ouvert ma fenêtre de dialogue. Comment fermer la fenêtre de dialogue à partir de la fenêtre de dialogue? –

+0

bonne astuce :) fonctionne bien maintenant. +1 –

Questions connexes