簡體   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