UWP模态窗口

我想在我的通用Windows平台应用程序(C#)中在屏幕上显示一个模态窗口,就像添加帐户时标准的Mail-app一样。 或者当您在应用程序中登录服务(如Facebook)时。

带模态窗口的Windows邮件应用程序: Windows 10邮件应用程序 - 添加帐户屏幕

你可以移动这个窗口,但它不在任务栏中,而且是模态的。

有谁知道如何做到这一点? 它不应该那么难,但我找不到任何关于它的东西。

正如@Daniel Meixner所说,添加此邮件应用程序的帐户交互是使用LaunchForResults调用另一个应用程序。

使用系统的Task Manager ,您可以看到,当您启动此邮件应用程序时,它会启动一个应用程序名称为“邮件”的进程,当您从此应用程序添加帐户时,它会启动另一个进程,其应用程序名称为“电子邮件”和帐户“。

在此处输入图像描述

如果我们使用Process Explorer检查这些进程,那么Mail应用程序的流程如下: 在此处输入图像描述

并且添加帐户流程是这样的: 在此处输入图像描述

它们处于不同的进程中,并具有不同的包名称。

所以我创建了两个应用程序并使用LaunchForResult进行这些应用程序之间的通信,它们就像系统的Mail应用程序一样。 在此处输入图像描述

如果您只想启动系统的“添加帐户”应用程序,可以参考官方UserDataAccountManager示例 。

在邮件应用程序中发生的事情可能是应用程序与“LaunchForResults”的应用程序通信 – 我不确定,但它看起来像那样。

使用Windows 10 Universal Apps,您可以通过LaunchForResults使一个应用程序调用另一个应用程序。 被调用的应用程序将始终像调用应用程序的模式对话框。 您可以使用ValueSet在两个方向上传递任何可序列化对象。

有关LaunchForResult的详细信息,请访问: https ://msdn.microsoft.com/en-us/library/windows/apps/mt269386.aspx