插件在Win 7上的应用程序刷新页面崩溃

时间:2011-08-04 11:04:11

标签: c# silverlight-4.0 windows-7 silverlight-oob silverlight-plugin

我有一个Silverlight 4 oob应用程序的页面。安装应用程序后,页面上的bage应自动刷新。 我尝试从InstallStateChanged上的代码调用脚本或简单的Document.Submit - 它们在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是带有文本字段的简单网格。安装页面仅包含点击事件的按钮 - 安装应用程序。网页是自动生成的。而已。仍然在Win 7和Vista上有相同的概率,因为他们有安装。

UPD:project files

1 个答案:

答案 0 :(得分:3)

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

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上安装时会刷新。