我知道如何使用TryShowAsStandaloneAsync打开其他窗口.但是,如果原始窗口关闭 – TryShowAsStandaloneAsync失败(为什么?).
And I don’t know how to “revive” it(原始窗口).
但是,“照片”似乎像一个桌面应用程序一样正常工作.怎么做呢(我想效仿).可以打开一个带有图像的窗口,打开另一个窗口,关闭第一个窗口,然后仍然可以打开更多的窗口.
任何方式都会很好 – 某些方式可以在没有主窗口显示的情况下启动窗口,或者在关闭主窗口之后恢复主窗口(为了使其成为必须打开的新窗口)或某种其他方式.
解决方法
看看
MultipleViews sample app.这个程序确实有你正在描述的问题.
您创建的每个视图都将有自己的UI线程,因此将调度器.
该应用程序的关键是TryShowAsStandaloneAsync从当前活动窗口的调度程序调用.
在示例的OnLaunched事件中,代码使用启动参数中的视图ID查找当前打开的视图的引用.然后,使用与该视图相关联的调度程序在该视图的UI线程上调用UI代码(使用Dispatcher.RunAsync).您应该使用打开的窗口的线程来调用TryShowAsStandaloneAsync来启动新的主视图.然后,您可以使用新的主视图的调度程序调用Window.Activate.