UWP中的多窗口全屏应用程序?

时间:2018-02-05 09:05:53

标签: uwp multiple-monitors

我开始研发一款专为在具有多个显示器的Windows 10桌面上运行的应用程序(从1-3开始),我希望应用程序相应地扩展,打开单独的窗口,全屏(理想情况下)或在每个监视器上最大化(如果需要),每个监视器都显示不同的视图。

从我所看到的情况来看,UWP并不适合这种情况。我已设法使用CoreApplication.CreateNewView启动多个辅助窗口,但ApplicationViewSwitcher.TryShowAsStandaloneAsync不允许我指定视图将在哪个监视器上打开(事实上,它已赢得了&#t; t允许我指定窗口位置)和ProjectionManager.StartProjectingAsync,同时允许我指定要投影到的监视器,并不能同时将多个视图投影到多个监视器上。

在UWP中有更好的技术来实现这一目标吗?或者WPF仍然是这种情况的首选技术?

2 个答案:

答案 0 :(得分:1)

  

在UWP中有更好的技术来实现这一目标吗?或者WPF仍然是这种情况的首选技术?

目前,ProjectionManager仅支持将窗口(应用视图)发送到辅助显示器,并交换主视图和投影视图。它只限制了两台显示器的操作。

对于UWP,您可以使用CoreApplication.CreateNewView启动多个辅助窗口,并手动将它们拖到不同的监视器上。显然,这不是最佳实践。

这是一个很好的要求,如果你想要这个功能,欢迎你在UserVoice上询问。

答案 1 :(得分:0)

根据该UWP示例,使用“ Shell Launcher V2”将计算机配置为信息亭,将允许您在单独的监视器上显示UWP应用的每个视图:

https://github.com/microsoft/Windows-iotcore-samples/tree/develop/Samples/ShellLauncherV2/ShellLauncherV2/ShellLauncherV2DemoUwp

它说明:

对于Shell UWP应用程序具有多个视图。 Shell Launcher V2定义 对于Shell UWP应用,其第一个视图显示在主 监视器,第二个视图将在最左侧的监视器上,第三个视图将在 第2到左监视器,依此类推。如果只有一台显示器,则只有 显示主视图。

然后使用arr.sort(function(a, b) { return new Date(a.secondary_fields[3].display_value) - new Date(b.secondary_fields[3].display_value) }) example)在第二个监视器上显示第二个视图。