我开始研发一款专为在具有多个显示器的Windows 10桌面上运行的应用程序(从1-3开始),我希望应用程序相应地扩展,打开单独的窗口,全屏(理想情况下)或在每个监视器上最大化(如果需要),每个监视器都显示不同的视图。
从我所看到的情况来看,UWP并不适合这种情况。我已设法使用CoreApplication.CreateNewView
启动多个辅助窗口,但ApplicationViewSwitcher.TryShowAsStandaloneAsync
不允许我指定视图将在哪个监视器上打开(事实上,它已赢得了&#t; t允许我指定窗口位置)和ProjectionManager.StartProjectingAsync
,同时允许我指定要投影到的监视器,并不能同时将多个视图投影到多个监视器上。
在UWP中有更好的技术来实现这一目标吗?或者WPF仍然是这种情况的首选技术?
答案 0 :(得分:1)
在UWP中有更好的技术来实现这一目标吗?或者WPF仍然是这种情况的首选技术?
目前,ProjectionManager
仅支持将窗口(应用视图)发送到辅助显示器,并交换主视图和投影视图。它只限制了两台显示器的操作。
对于UWP,您可以使用CoreApplication.CreateNewView
启动多个辅助窗口,并手动将它们拖到不同的监视器上。显然,这不是最佳实践。
这是一个很好的要求,如果你想要这个功能,欢迎你在UserVoice上询问。
答案 1 :(得分:0)
根据该UWP示例,使用“ Shell Launcher V2”将计算机配置为信息亭,将允许您在单独的监视器上显示UWP应用的每个视图:
它说明:
对于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)在第二个监视器上显示第二个视图。