从另一个线程关闭主应用程序

时间:2013-07-10 12:07:05

标签: c# html wpf multithreading browser

我正在开发一个由c#+ HTML + Java Script编写的应用程序,结构如下: 基本窗口是一个WPF MainWindow类,它打开一个创建网页的线程。该线程处理所有UI事件。

WebBrowser XAML代码是:

    <WebBrowser x:Name="CordovaBrowser" 
        Opacity="0"
        HorizontalAlignment="Stretch"  
        VerticalAlignment="Stretch" 
        Loaded="CordovaBrowser_Loaded" 
        Unloaded="CordovaBrowser_Unloaded"   
        LoadCompleted="CordovaBrowser_LoadCompleted" 
     />

问题是我想从HTML线程关闭应用程序。 我不能使用App.Current.ShutDown()因为我不在主UI线程中(我试过这样做但是有例外)。

(顺便说一句:谁知道PhoneGap:我的应用程序结构与Win8 PhoneGap的构建方式非常相似。)

任何人都可以帮助我吗? 感谢。

1 个答案:

答案 0 :(得分:1)

您想要的是(编辑并从Application.Current.Shutdown() doesn't获取)

ThreadStart ts = delegate()
{
    Dispatcher.BeginInvoke((Action)delegate()
    {
        Application.Current.Shutdown();
    });
 };
 Thread t = new Thread(ts);
 t.Start();

请参阅http://social.msdn.microsoft.com/Forums/vstudio/de-DE/68bea444-1fa7-4948-8b8c-bf61fbc6dc2b/how-to-exit-a-wpf-application

相关问题