繁体   English   中英

每个 MAF 插件的 UI 线程

[英]UI thread for each MAF AddIn

我在 WPF 中使用MAF ,我遇到了 UI 线程问题。 我希望我激活的每个插件都成为一个独特的 UI 线程。

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

我有一个主机应用程序,它是插件的容器。 不同的人为主机开发插件。 如果开发人员在他们的插件中启动了一个长过程并且他们忘记了在线程中调用或启动该过程,那么主机将冻结,因为主机和插件共享相同的 UI 线程。

每个插件都在单独的应用程序域中运行。 关于每一个暗示我都会很高兴。

您可以尝试以下方法:

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();

暂无
暂无

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

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