1

我在我的应用程序中开始一些线程,比如

  this.Thread = new Thread(() =>
  {
      System.Windows.Threading.Dispatcher.CurrentDispatcher.BeginInvoke(new Action(() =>
      {
         ...
         ...

      }));
      System.Windows.Threading.Dispatcher.Run();
                           }) { IsBackground = true, Name = Constants.SPECIAL_UI_THREAD_NAME};
  this.Thread.SetApartmentState(ApartmentState.STA);
  this.Thread.CurrentCulture = Thread.CurrentThread.CurrentCulture;
  this.Thread.CurrentUICulture = Thread.CurrentThread.CurrentUICulture;
  this.Thread.Start();

它们都有一个生成和显示的窗口。现在,当我在我的主线程中使用

应用程序.当前.Windows

我没有得到我的附加线程的窗口。

如何获取应用程序所有线程的所有窗口?

4

1 回答 1

0

您不应该在应用程序的主线程以外的任何线程上创建窗口。相反,在主应用程序线程上创建所有窗口并使用其他线程(例如任务并行库)异步工作,以便主应用程序的线程(以及因此 UI)保持响应。

于 2012-04-22T10:27:29.090 回答