繁体   English   中英

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

[英]Close the main application from a different thread

我正在开发一个由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的构建方式非常相似。)

谁能帮帮我吗? 谢谢。

你想要的是(编辑并从Application.Current.Shutdown()中获取

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM