每个MAF插件的UI线程



我在WPF中使用MAF,UI线程也有问题。我希望我激活的每个插件都成为一个唯一的UI线程。

我为什么要你想知道?我试图解释:-)

我有一个主机应用程序,它是加载项的容器。不同的人为主人开发成瘾。如果开发人员在加载项中启动了一个长过程,而他们忘记了在线程中调用或启动该过程,则主机将冻结,因为主机和加载项共享同一个UI线程。

每个加载项都在一个单独的appdomain中运行。每一个暗示我都会很高兴。

您可以尝试以下方法:

Thread thread = new Thread(() =>
{
 Window1 w = new Window1();
 w.Show();
 //make sure to stop the Dispatcher when window is closed
 w.Closed += (s, e) => w.Dispatcher.InvokeShutdown();
 //start the message pump
 System.Windows.Threading.Dispatcher.Run();
});
thread.SetApartmentState(ApartmentState.STA);
thread.Start();

相关内容

  • 没有找到相关文章

最新更新