2016-01-13 139 views
3

我想在我的通用Windows平臺應用程序(C#)中的屏幕上顯示模式窗口,就像標準Mail-app在添加帳戶時一樣。或者當您在應用程序中登錄到服務(如臉書)時。UWP模態窗口

的Windows Mail應用程序與模式窗口: Windows 10 mail app - Add account screen

您可以四處移動這個窗口,但它不是在任務欄,它是模態。

有誰知道如何做到這一點?它不應該那麼難,但我找不到任何關於它的事情。

回答

7

正如@Daniel Meixner說,這個郵件應用程序的賬戶交互調用另一個應用程序可能與LaunchForResults

使用系統的Task Manager,您可以看到,當您啓動此郵件應用程序時,它會啓動一個應用程序名稱爲「Mail」的進程,並且當您從此應用程序添加帳戶時,它會啓動另一個進程名稱「電子郵件和帳戶」。

enter image description here

如果我們使用Process Explorer來檢查這些程序,郵件應用程序的過程是這樣的: enter image description here

和添加帳戶的過程是這樣的: enter image description here

他們在不同的進程和不同的軟件包名稱。

因此,我創建了兩個應用程序,並使用LaunchForResult在這些應用程序之間進行通信,它們的行爲與系統的Mail應用程序相似。 enter image description here

如果你只是想啓動系統的「添加帳戶」應用程序,你可以參考官方UserDataAccountManager sample

3

在郵件應用程序所發生的事情可能會應用與「LaunchForResults」應用程序通訊 - 我不知道,但它看起來像。

使用Windows 10 Universal Apps,您可以使用LaunchForResults使一個應用程序調用另一個應用程序。被調用的應用程序總是表現得像調用應用程序的模態對話框。 您可以使用ValueSet傳遞兩個方向上的任何可序列化的對象。

細則LaunchForResult可以在這裏找到: https://msdn.microsoft.com/en-us/library/windows/apps/mt269386.aspx