首页 > 解决方案 > WPF UI 线程问题

问题描述

我有一个 com 可见的静态类 ([STAThread]),它在 Main 中启动一个 wpf 窗口 app.Run(MainWindow)。主窗口启动后,有一个按钮可以打开另一个称为设置的窗口。当外部应用程序调用我的一个 com 类时,它会启动我的 com 对象并打开主窗口。这就是我想要的行为,到目前为止一切都很好!

外部应用程序还可以调用公开的方法来启动我的 com 对象并直接打开设置窗口。我通过使用 Dispatcher.BeginInvoke ((Action) 到设置窗口来做到这一点。发生这种情况时,由于主线程启动,它也会打开主窗口,这没关系。

我的问题是当用户关闭设置窗口时。主窗口对点击无响应。在我看来,主窗口在不同的线程上运行并且无法访问。

我希望我已经很好地解释了这一点,以产生一些想法。如果不让我知道我可以发布什么来提供帮助。代码为此跳了很多,所以很难发布所有内容。

谢谢!

标签: wpfthread-safety

解决方案


推荐阅读