UWP:Defaul xaml文件(视图)未按预期显示

在UWP应用程序中,我试图根据显示比例显示一个单独的视图(XAML)(一旦将屏幕设置为比例= 200%,布局就会更改)。可以在以下位置找到使用文件名限定符的最佳实践:

https://docs.microsoft.com/en-us/windows/uwp/app-resources/tailor-resources-lang-scale-contrast

应该创建一个后缀名为“ Main-Page.xaml”的视图(“ Main-Page.xaml”)-MainPage.Scale-200应该可以完成此工作。确实如此。当缩放比例设置为200%时,将显示正确的视图。但是,当使用其他缩放比例时,不会调用默认的MainPage.xaml。

有什么建议/提示吗?

Sunny_Frankk 回答:UWP:Defaul xaml文件(视图)未按预期显示

我在本地进行了测试,发现它无法按预期运行。我将其作为issue on the WinUI repository提交,因此我们将看看这是错误还是预期的行为。

但是,在这种情况下,更好的解决方案可能是在VisualStateManager中使用自适应触发器,以使页面适合显示的缩放比例。原因是缩放可以在运行时任意更改,并且在特定于scale的XAML情况下,仅在导航完成后才评估一次(因此,更适合诸如设备系列之类的不变限定符-例如,PC留在PC上)。

有一个非常有用的开源库AdaptiveTriggerLibrary,其中包含一个ScaleTrigger,尽管它是静态实现的,但确实可以做到这一点。您可以将源代码用作起点,并对其进行扩展以对DisplayInformation.DpiChanged event做出反应。该存储库包含其他动态触发器的示例,因此您可以将其用作实现的灵感。

如果您担心在布局上有很大差异时在页面上加载太多元素,则可以使用x:Load attribute并且仅加载给定比例尺实际需要的布局。

本文链接:https://www.f2er.com/3020574.html

大家都在问