c# - 用户界面缩放/设置

标签 c# uwp uwp-xaml

我一直在开发一个 UWP 应用程序,该应用程序最初仅部署到 Surface Pro 4(可能是某些 SP3)设备,但我很难让我的 UI 适合屏幕。

现在,我的设计器窗口设置为“12”平板电脑 (2160 x 1440) 150% 比例”,并锁定在横向模式(使用此应用程序的唯一方式),以便“有效:1440 x 960”分辨率已设置。

我已将我的 MainPage 页面设置为 960 x 1440,并使用一个用于显示内容的框架基本上填充了整个 960 x 1440,但是当我运行应用程序(无论是全屏还是窗口化)时,它会切断我的 MainPage 的内容(不仅仅是框架内容,而且是我的应用程序侧边栏菜单的一部分)。

综上所述,我的问题是:如何让我的 UWP 缩放内容以适应应用程序在运行时显示的任何大小的窗口(全屏或用户调整的窗口大小),或者什么设置我是否需要/如何配置它以全屏显示我的 SP4 屏幕 (2736 x 1824) 上的整个 MainPage 内容,而无需手动尝试/错误调整元素直到它们适合。

我更关心第二个问题,因为我不只是想让这个应用程序做我想做的事(因为我知道我可以通过手动调整元素大小来弄清楚自己),但我想了解为什么它在做什么这是做我想做的事情的正确方式。

我进行了大量搜索,但找不到问题的答案,如果这是重复的,请随时链接答案。

提前致谢。

最佳答案

设计器只是为您提供有关事物外观的一般指南。这些尺寸并非专门针对 SP4。

150% DPI 下,尝试将 MainPage 设置为 1824、1216

您可以调用

ApplicationView.GetForCurrentView().VisibleBounds

在运行时查找屏幕当前设置的像素数 (epx)。

请注意,这些是有效像素。它们与设备的物理像素不同。所有 UWP UI 测量均基于 epx。所以当你看到这个时 -

<Button Width="24" />

您应该知道值24是以epx为单位测量的。

要了解 epx 到底是什么,请输入 this一读。

关于c# - 用户界面缩放/设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43824898/

相关文章:

c# - UWP中的MVVM验证

xaml - MVVM-Light 未显示设计模式数据

c# - ASP.NET Core 1.0 POST IEnumerable<T> 到 Controller

c# - 构造函数和抛出异常

visual-studio - 从 Web (MSIX) 打开 Windows 10 .appinstaller 文件时为 "Error in parsing the app package."

c# - 如何解决DEP6500和DEP6701错误?

c# timer.elapsed?

c# - 如何在 C# 中打开 telnet 连接并运行一些命令

uwp - 如何从后台线程获取 UWP 应用程序的当前 View ?

c# - 如何在 UWP 中将 `DependencyProperty` 标记为 `BindsTwoWayByDefault`?