windows - Silverlight 应用程序关闭一个窗口也会关闭父窗口

标签 windows silverlight

在我们的 Silverlight 应用程序中,我们打开了一个托管在新 HTML 页面中的新 Silverlight 控件,只要用户在加载辅助页面之前不点击浏览器关闭按钮,一切都会正常进行。然后两个浏览器窗口都会在没有警告的情况下消失。我尝试编写 Javascript 来处理 onbeforeunload 但即使这样也没有被调用。想法是警告用户此操作可能很糟糕。因此,我随后编写了一个真正简单的示例应用程序来重现该问题,这里是 ni-lites:

向父页面添加一个按钮:

 HtmlPage.Window.Navigate(new Uri(String.Format("TestControlTestPage.aspx"),
                UriKind.Relative), "searchresults", 
                "directories=no,location=no,menubar=no,status=yes,toolbar=no,resizable=yes");

这将打开一个新的 HTML 页面,其中包含一个新的 Silverlight 控件 newControl,在这里我模拟了我们应用程序中的情况,我们必须按如下方式从服务器加载一些内容:

public MainPage()
        {
            InitializeComponent();

            Loaded += new RoutedEventHandler(MainPage_Loaded);
            System.Threading.Thread.Sleep(10000); 
        }

        void MainPage_Loaded(object sender, RoutedEventArgs e)
        {

        }

因此在调用加载方法之前存在延迟,如果我在调用加载页面之前按 X(关闭),那么两个窗口都会消失。

如上所述,我也尝试过为 onbeforeunload 添加 javascript,但这没有被调用。非常丑陋任何想法将不胜感激

最佳答案

试试我的 Stopping a user from leaving a Silverlight page 解决方案

我不确定您之前使用 onbeforeunload 失败的原因,因为它运行良好,但也许您发布了该 javascript 代码,我们可以解决该问题。

关于windows - Silverlight 应用程序关闭一个窗口也会关闭父窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7017459/

相关文章:

windows - 如何通过 MS-DOS 命令打印当前目录名称

android - 无法从同一局域网内的远程计算机访问 Android 设备

asp.net - Silverlight 中的多任务和多线程

c# - silverlight动画不工作

c# - 什么是移植到 Silverlight 3 的好模拟器?

Silverlight SaveFileDialog - 设置默认文件名

嵌套控件中的 silverlight 绑定(bind)组合框

python - Python 中的剪贴板问题

c# - 这是确定操作系统架构的好方法吗?

windows - 最建议在 Windows 文件夹 (NTFS) 中包含多少个文件?