【问题标题】:Multi-window full-screen apps in UWP?UWP 中的多窗口全屏应用?
【发布时间】:2018-02-05 09:05:53
【问题描述】:

我正在着手开发一个应用程序,该应用程序旨在在具有多个监视器(从 1 到 3 台)的 Windows 10 桌面上运行,并且我希望该应用程序相应地缩放,打开单独的窗口、全屏(理想情况下)或在每个监视器上最大化(如果需要),每个监视器都显示不同的视图。

据我所知,UWP 并不自然地适合这种情况。我已经设法使用CoreApplication.CreateNewView 启动了几个辅助窗口,但是ApplicationViewSwitcher.TryShowAsStandaloneAsync 不允许我指定视图将在哪个监视器上打开(事实上,它根本不允许我指定窗口位置)和ProjectionManager.StartProjectingAsync,虽然允许我指定要投影到的监视器,但不能很好地同时将多个视图投影到多个监视器。

在 UWP 中是否有更好的技术来实现这一点?还是 WPF 仍然是此类场景的首选技术?

【问题讨论】:

    标签: uwp multiple-monitors


    【解决方案1】:

    在 UWP 中是否有更好的技术来实现这一点?还是 WPF 仍然是此类场景的首选技术?

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

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

    这是一个很好的要求,如果您确实想要这个功能,欢迎您在UserVoice提问。

    【讨论】:

    • 链接不见了。这是否意味着 ProjectionManager 现在通过传入设备 ID 来支持两个以上的显示器?
    【解决方案2】:

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

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

    它说:

    外壳 UWP 应用具有多个视图。 Shell Launcher V2 定义 对于 shell UWP 应用程序,它的第一个视图显示在 main 监视器,第二个视图将在最左边的监视器上,第三个视图将打开 第二个到左显示器等等。如果只有一台显示器,则只有 显示主视图。

    然后您使用ApplicationViewSwitcher.TryShowAsStandaloneAsync() (example) 在第二台显示器上显示第二个视图。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-18
      • 1970-01-01
      • 1970-01-01
      • 2012-03-16
      相关资源
      最近更新 更多