【问题标题】:UWP portrait mode for kiosk desktop app?信息亭桌面应用程序的 UWP 纵向模式?
【发布时间】:2018-03-06 08:37:15
【问题描述】:

针对必须以纵向模式运行的信息亭硬件的 Windows 桌面应用评估 UWP。这对于 UWP 来说似乎是一个问题,因为桌面应用程序显然是横向的……任何解决方法还是这只是错误的技术?

是否可以扩展设计视图中可用的目标设备列表?

【问题讨论】:

  • 您的信息亭硬件是什么?我在 Surface Pro 上测试了分配访问模式。当我旋转我的设备时,uwp 应用程序会自动旋转。
  • 它是不支持旋转但处于固定纵向的专有硬件......我认为 UWP 在这种情况下不是正确的工具。
  • 您是否为您的 UI 元素配置了自适应触发器?无论设备方向如何,触发器都应该工作,因为它们可以配置为根据屏幕宽度和高度工作。如果我对这个问题有错误的想法,请纠正我..
  • 你试过在后面的代码中设置DisplayInformation.AutoRotationPreferences = DisplayOrientations.Portrait;吗?
  • 您最终为 kiosk 技术堆栈使用了什么?

标签: uwp


【解决方案1】:

您可以通过在 Package.appxmanifest 文件的“应用程序”选项卡中进行设置来配置应用程序应以哪种模式运行

【讨论】:

【解决方案2】:

我看到你的问题有很多子部分,如果我错过了什么,请告诉我。以下是部分:

在设计器中获得强制纵向模式:

所以如果你有一个理想的屏幕高度和宽度,你可以做的是:

  1. 从设计人员的设备列表中选择与像素比和比例相匹配的设备。 (忽略高度和宽度)。
  2. 现在您已经对您的设计师有了一个粗略的估计,现在您需要将其设置为您需要的尺寸。为此,请在 xaml<Page> 标记中添加以下声明以及命名空间声明。

xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="500"
d:DesignWidth="300"

上面的代码会将您的设计器设置为您想要的尺寸,并且从您选择的设备中设置比例和纵横比。而且您可以根据自己的硬件尺寸进行设计,因为您知道已部署机器的尺寸不会改变。

让应用在强制纵向模式下运行:

嗯,UWP 应用程序是自适应的,这是它们最好的部分,制作一次并部署到您的各种机器上。

话虽如此,仅当您的应用程序可以部署到横向模式硬件并且您希望您的应用程序仍处于纵向模式时,请参阅本节。如果是这样,那么有两种方法可以解决。

  1. 使用您的根grid 或任何父级(页面除外)的MaxHeightMaxWidth 将其设置为您想要的,这样即使应用程序全屏运行,您的内容也会垂直居中对齐并且不会超过您设置的内容,剩余的窗口将被您设置的背景填充。
  2. 您也可以在启动时设置应用程序大小,然后监听您的应用程序的大小更改事件,以便每次更改大小并从纵向模式下降时,将其设置回纵向模式。

我正在编写一个快速演示应用程序,以便您更好地理解。稍后我会添加链接。


我个人认为,UWP 应用最适合您的用例,因为您不知道部署屏幕的大小,您实际上可以利用 UWP 的自适应布局,将您的应用交付给不同的供应商

【讨论】:

    猜你喜欢
    • 2014-01-16
    • 1970-01-01
    • 2015-11-18
    • 2011-01-11
    • 1970-01-01
    • 1970-01-01
    • 2018-11-06
    • 1970-01-01
    • 2021-02-14
    相关资源
    最近更新 更多