我遇到的情况是我显示的Window
充当启动画面。这个窗口是在与主ui线程分开的一个线程上创建的,因此它与它自己的Dispatcher
相关联(即我最终得到2个Dispatchers主要Ui调度程序和" Splash" { {1}})。
当我关闭启动窗口时,与启动窗口的线程关联的Dispatcher
关闭(尽管线程仍在运行,这就是我想要的);但是,我希望以后能够在同一个线程上再次显示启动窗口。我遇到的问题是我第二次尝试这样做Dispatcher
抱怨它已被关闭。
有没有办法强制新的Dispatcher
与以前与之关联过Dispatcher
的帖子相关联?
或者是否有办法在窗口关闭时导致Dispatcher
不关闭?
我知道我可以通过创建一个新线程来解决这个问题,但我真的不想这样做。理想情况下,我希望有一个专用线程负责带外通知,如启动和弹出"烤面包机"。
注意: 我已在此要点上发布了相关代码:https://gist.github.com/DamianReeves/76771a031f05a8be042d
答案 0 :(得分:1)
回答你的第一个问题: 有没有办法强制新的Dispatcher与以前有Dispatcher关联的线程关联?
“在线程上创建Dispatcher时,即使Dispatcher关闭,它也会成为唯一可以与该线程关联的Dispatcher。”
也
“如果Dispatcher已关闭,则无法重新启动。”
http://msdn.microsoft.com/en-us/library/vstudio/system.windows.threading.dispatcher 在备注部分。