【问题标题】:How keep a UWP AppWindow fullscreen when another AppWindow enters Fullscreen on 2nd monitor?当另一个 AppWindow 在第二台显示器上进入全屏时,如何保持 UWP AppWindow 全屏?
【发布时间】:2020-05-07 22:57:21
【问题描述】:

我正在尝试在单独的监视器上全屏打开 2 个 AppWindows(appWindowOneappWindowTwo),但是当 appWindowTwo 打开时 appWindowOne 最小化。我尝试以编程方式使 AppWindow 重新进入全屏,但它会导致另一个 AppWindow 最小化。在任务栏中手动单击时,它会恢复到全屏而不影响其他,但我想知道是否可以通过编程方式完成?

public static async void ShowAppWindows()
{
    AppWindow appWindowOne = await AppWindow.TryCreateAsync();
    Frame frameOne = new Frame();
    ElementCompositionPreview.SetAppWindowContent(appWindowOne, frameOne);

    AppWindow appWindowTwo = await AppWindow.TryCreateAsync();
    Frame frameTwo = new Frame();
    ElementCompositionPreview.SetAppWindowContent(appWindowTwo, frameTwo);

    FullScreenPresentationConfiguration FSPC = new FullScreenPresentationConfiguration()
    {
         IsExclusive = false
    };

    await appWindowOne.TryShowAsync();
    appWindowOne.RequestMoveToDisplayRegion(displayRegions[0]);
    appWindowOne.Presenter.RequestPresentation(FSPC);

    await appWindowTwo.TryShowAsync();
    appWindowTwo.RequestMoveToDisplayRegion(displayRegions[1]);
    appWindowTwo.Presenter.RequestPresentation(FSPC);
}

【问题讨论】:

  • 您可以尝试在将 appWindowTwo 设为全屏之前设置任务延迟吗?
  • @NicoZhu-MSFT,你是对的! 200 毫秒延迟,两个 AppWindows 都像魔术一样全屏显示。谢谢你的帮助,你这个男人!

标签: windows uwp


【解决方案1】:

。我已经尝试以编程方式让 AppWindow 重新进入全屏,但它会导致另一个 AppWindow 最小化。

当将appWindowTwo 设为全屏时,这看起来 UI 线程已损坏。我猜想在全屏模式下连续设置两个窗口会耗尽 UI 线程。因此,我们可以尝试在将appWindowTwo 设为全屏之前调用Task.Delay()

【讨论】:

    猜你喜欢
    • 2021-04-20
    • 1970-01-01
    • 2020-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多