c# – 通用Windows应用程序如何具有多个独立的窗口(像微软的应用程序“照片”)?

前端之家收集整理的这篇文章主要介绍了c# – 通用Windows应用程序如何具有多个独立的窗口(像微软的应用程序“照片”)?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道如何使用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.

猜你在找的C#相关文章