【问题标题】:How to scale window according to screen resolution in UWP?如何根据 UWP 中的屏幕分辨率缩放窗口?
【发布时间】:2021-06-03 21:10:00
【问题描述】:

我是 Stackoverflow 和 UWP 的新手(我的英语也很正常)。对于我写得不好,我提前道歉。

我正在UWP/C# 中开发一个 Windows 应用程序。我的显示器尺寸是 23',分辨率设置为 1920x1080 (100%)。

如图 1 所示,我已将应用程序配置为主框架的大小为 1920x1080,因此,当我在计算机上运行应用程序时,它看起来很完美(见图 2)。

但是,当我在另一台屏幕尺寸较小(17 英寸)的计算机上运行应用程序时,它看起来像图 3 中的那样,可以看出应用程序不适合这个尺寸。它似乎保留了原始大小和 mi 应用程序“不适合屏幕”。

我的问题是:我如何对应用程序进行编程,使其在与编程计算机大小不同的屏幕上运行时不会失去其形状、分布、纵横比或比例?通过这种方式,它会自动调整到屏幕的分辨率和比例,而不会丢失其编程和设计的原始比例和分布。

非常感谢您的帮助和理解。

编辑 1:我不是在寻找应用程序的内容来适应窗口的变化,而是为了适应不同尺寸的屏幕。也就是说,相同的内容、分布和比例被缩放以适应任何屏幕尺寸,如图 3 所示,这种情况不会发生。 (见图4)

我不希望图像 3 发生。

【问题讨论】:

  • 这能回答你的问题吗? How can I make UWP apps fit in the screen size?
  • 感谢您的回答。不幸的是,这不是我想要的。这个想法并不是说布局随着窗口大小的变化而自适应。这个想法是应用程序的内容适合屏幕的大小,也就是说,如果原始设计是在 23 英寸的屏幕上,当它在 17 英寸的屏幕上运行时,它会自动将所有内容缩小一个17/23 的因子比例,不改变内容分布或比例。
  • 请避免使用固定宽度高度作为页面大小。默认情况下,它将使用自动大小填充内容。

标签: c# uwp xamarin.uwp


【解决方案1】:

完全符合您要求的控件称为ViewBox,但正如人们在上面已经建议的那样,最好使用触发器或至少使用网格来设计自适应 UI。

【讨论】:

  • 您好奥列格,非常感谢您的回答。果然,这和我想要的差不多;但是,我不希望它在调整应用程序窗口大小时执行此操作,而是在更改屏幕尺寸时执行此操作。当我更换电脑时,应用程序似乎保持原来的尺寸,并没有调整到新的分辨率和尺寸。
  • 对不起,但在此评论之后,我不太明白您要解决什么问题。是登录表单对齐吗?
  • 当我手动调整应用程序窗口的大小(用鼠标从边缘)时,ViewBox 会调整内容的大小。但是,我不希望它在更改窗口大小时执行此操作,而是在更改监视器大小时执行此操作,所有内容都执行类似于 ViewBox 的操作,但由于分辨率更改。在图 2 中,可以看到内容完全适合编写应用程序的计算机的显示器,但是当我更换计算机时,内容并没有缩放到新的屏幕尺寸(图 3)。
  • 嗯,有 DisplayInformation 类 (docs.microsoft.com/en-us/uwp/api/…),因此您可以获取显示大小并将 ViewBox 的宽度和高度设置/绑定到该值。
猜你喜欢
  • 1970-01-01
  • 2016-04-02
  • 1970-01-01
  • 2019-11-17
  • 2016-07-27
  • 1970-01-01
  • 1970-01-01
  • 2012-11-04
  • 2016-10-21
相关资源
最近更新 更多