在线程中打开了一个窗体,而且是模态窗体(ShowDialog()),手动关闭这个子窗体后其句柄资源没有释放,已经在子窗体的Unload方法里加了Dispose()方法,将handle=IntPr.Zero了。
最近遇到一个问题,在wpf程序的某个线程中打开子窗体时显示“调用线程必须为 STA,因为许多 UI 组件都需要”,这是典型的子线程更新UI异常问题了,解决方法是用Dispatcher的invoke方法来执行UI操作。 简单介绍一下Dispatcher类。
Dispatcher的字面意思是“调度员”,很形象地解释了它的作用——处理并发和多线程。Dispatcher本身是一个单例模式,构造函......
答案就在这里:WPF 如何在线程中打开子窗体
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?
不能在线程中打开,应该传委托让UI线程去打开、操作