UWP:如何在单独的监视器中检索一秒 window 的大小和比例因子

UWP: how to retrieve the size and scale factor of a second window in a separate monitor

我有一个使用 AppWindow.TryCreateAsync.

打开辅助 window 的 UWP 应用

我需要检测新创建的 window 的实际大小(以及可能的比例因子),以及托管第二个 window 的监视器的一些其他详细信息。 =14=]

通常,我使用DisplayInformation.GetForCurrentView(),但这在以下情况下不起作用:

在这种情况下,DisplayInformation.GetForCurrentView() returns 第一个监视器的值,其中托管了主应用 Window。

如何检索托管辅助 Window 的监视器的信息?

具体来说,secondary的实际大小window是最重要的信息,其他都是附属...

非常感谢!

我不知道您如何获得放置在通用监视器上的 AppWindow 的比例因子。 但是,如果您创建 AppWindow 将其内容包装到一个框架中,那么您可以使用 Frame.SizeChanged 事件来获取辅助 window:

的正确大小
UIElement myContent; // Create your content here

AppWindow myAppWindow = await AppWindow.TryCreateAsync();
Frame myContentFrame = new Frame();
myContentFrame.Content = myContent;

myContentFrame.SizeChanged += (object sender, SizeChangedEventArgs e)
        {
            // Here you can get the new size of the Frame
            Size newFrameSize = Encoders.BuildLTSize(e.NewSize.Width, e.NewSize.Height);
            // Update the UI as needed
            UpdateView(newFrameSize);
        };