在silverlight工程中添加"System.Windows.Browser"引用在承载sl的页面(NamespaceTestPage.aspx或NamespaceTestPage.html)添加JS函数
< script type= "text/javascript">
function CloseWindow()   {
                        window.close();
        } 
< /script>
 
  至此,就可以完成页面的关闭了,而且会有关闭提示
  
 
  如果想要取消这个提示怎么办呢,可以添加一条语句
  在sl工程中调用JS函数
 
 HtmlPage.Window.Invoke( "CloseWindow", "");
< script type= "text/javascript"> function CloseWindow() {
            window.opener =  null;
            window.close(); 
       } 
< /script>
 
  但是该语句仅在IE6有效,IE7,8就无效了,那我们再添加一条语句
< script type= "text/javascript">
function CloseWindow() {
          window.opener =  null;       //只在IE6下有效,可以不提示关闭浏览器
            window.open( '''_self');   //原理就是将_self(自身)设置为一个window.open的引用后,用window.close(),就可以关闭了!
            window.close();
        } 

< /script>
 
  到此,就可以实现无提示关闭了,那么怎么样添加自己的提示呢,在sl中加一个if判断语句
if(HtmlPage.Window.Confirm( "您确定关闭***?"))
            {    
                HtmlPage.Window.Invoke( "CloseWindow", "");
            }
 
  如果大家有其他好的办法,欢迎留言
本文来自junyuz的博客,原文地址:http://www.cnblogs.com/junyuz/archive/2011/03/21/1990299.html