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.

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...