在win7上从应用程序刷新页面时插件崩溃

本文关键字:插件 崩溃 刷新 win7 应用程序 | 更新日期: 2023-09-27 18:04:24

我有一个页面与Silverlight 4 oob应用程序。应用程序安装后,页面上的bage应该自动刷新。我试着调用脚本或简单的文档。在installstatechange上提交代码——它们在win XP上都运行得很好(不仅在我的机器上),但在win 7或Vista上,页面挂起,甚至在安装开始之前silverlight插件崩溃。但是没有刷新功能就安装过程流畅。我应该如何为这些系统做正确的刷新?为什么会发生这种情况的信息也会有帮助。

    public App ()
    {
        this.Startup += this.Application_Startup;
        this.Exit += this.Application_Exit;
        this.UnhandledException += this.Application_UnhandledException;
        InitializeComponent();
        App.Current.InstallStateChanged += (s, c) => HtmlPage.Document.Submit(); //used that as the most common used example
    }
    private void Application_Startup (object sender, StartupEventArgs e)
    {
        if (Application.Current.IsRunningOutOfBrowser)
        {
            this.RootVisual = new MainPage();
        } else if (Application.Current.InstallState == InstallState.Installed)
        {
            this.RootVisual = new InstalledPage();
        } else
        {
            this.RootVisual = new InstallPage();
        }
    }

其中MainPage和installedPage是带有文本字段的简单网格。安装页面只包含按钮与点击事件-安装应用程序。网页是自动生成的一个。仅此而已。在win7和Vista上安装时仍然有同样的问题。

UPD: project files

在win7上从应用程序刷新页面时插件崩溃

我已经像这样改变了你的测试用例:

public App () {
        ...
    App.Current.InstallStateChanged += new EventHandler(Current_InstallStateChanged);
}
void Current_InstallStateChanged(object sender, EventArgs e) {
    if(App.Current.InstallState == System.Windows.InstallState.Installed) {
        HtmlPage.Document.Submit();
    }
}

并且在windows 7上安装后可以刷新