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.

相关文章

原文地址:http://msdn.microsoft.com/en-us/magazine/cc163...
前言 随着近些年微服务的流行,有越来越多的开发者和团队所采...
最近因为比较忙,好久没有写博客了,这篇主要给大家分享一下...
在多核CPU在今天和不久的将来,计算机将拥有更多的内核,Mic...
c语言输入成绩怎么判断等级
字符型数据在内存中的存储形式是什么