| 
 关于 WPF 在主窗口中用多线程打开的子窗口关闭后进程还存在,这个问的题的解决方法。  
 this.Dispatcher.Thread.Abort()   
下面是例子代码主窗口:  
void method()  
    {  
         Thread newWindowThread = new Thread(new ParameterizedThreadStart(showNewWindow));  
          newWindowThread.SetApartmentState(ApartmentState.STA);  
          newWindowThread.Start(msgClass);   
    }  
 void showNewWindow(object msgClass)       
    {  
             MsgClass mc = msgClass as MsgClass;   
            WTalk wt = new WTalk(mc, server);    //New 子窗口  
             wt.Show();  
             System.Windows.Threading.Dispatcher.Run();   //这个必须有不然窗口一闪而过      
     }
   
子窗口代码:  
    private void btnCloss_Click(object sender, RoutedEventArgs e)     
      {  
          //  this.Close();  //用这个在所有窗口关闭后,在Windows任务管理器中还会看到程序的进程。  
            this.Dispatcher.Thread.Abort(); //这句能关闭多线程中开启的自身线程关闭后不会停留在主进程。       
       }  |