isp*_*iro 11 c# windows-runtime windows-store-apps win-universal-app uwp
我知道如何使用打开其他窗口TryShowAsStandaloneAsync.但是,如果原始窗口关闭 - TryShowAsStandaloneAsync失败(为什么?).我不知道如何"复活"它(原始窗口).
但"照片"似乎可以像桌面应用程序一样正常工作.它是如何做到的?(我想模仿那个.)可以打开一个带有图像的窗口,打开另一个窗口,关闭第一个窗口,然后仍然可以打开更多窗口.
任何方式都可以 - 没有主窗口显示的某种方式启动窗口,或者在关闭后重新启动主窗口的某种方式(为了使它成为必须打开的新窗口),或者其他方式.
查看MultipleViews 示例应用程序。这个应用程序确实存在您所描述的问题。
您创建的每个视图都将有自己的 UI 线程,因此也有自己的调度程序。这个应用程序的关键是TryShowAsStandaloneAsync从当前活动窗口的调度程序调用。
在示例的OnLaunched事件中,代码使用启动参数中的视图 ID 查找对当前打开的视图的引用。然后,它使用与该视图关联的调度程序来调用 UI 代码,Dispatcher.RunAsync在该视图的 UI 线程上使用 , 。您应该使用打开窗口的线程来调用TryShowAsStandaloneAsync以启动新的主视图。然后您可以Window.Activate使用新主视图的调度程序进行调用。