首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >禁用布局缩放WinUI 3.0

禁用布局缩放WinUI 3.0
EN

Stack Overflow用户
提问于 2022-06-28 01:38:05
回答 1查看 150关注 0票数 0

如何在ApplicationViewScaling.TrySetDisableLayoutScaling(true) 3.0桌面应用程序中实现与UWP的WinUI相当的功能?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-02 23:49:41

WinUI 3.0应用程序UI已经进行了调整,以适应新闻部的扩展,但媒体不是。如果您的屏幕大小是1080 p和媒体是1080 p,但缩放是125%,媒体将大于屏幕大小,但应用程序将适当调整。如果您有大量的媒体,这可能是值得的根框架。

若要进行任何缩放,请执行以下操作:( a)针对每个媒体块本身,或( b)调整整个应用程序(根框架)的缩放。

若要补偿任何缩放,请设置要缩放的目标的x:Name;例如根框架或Xaml中的图像,即x:Name="root"。目标的位置取决于您正在缩放的是什么,以及您的窗口、框架、页面的分离。最容易的目标是页面加载覆盖函数中的根元素或图像。如果您想要调整框架,它必须是窗口的根元素,并且您可能会以重载函数OnNavigated为目标。这都取决于Xaml中窗口、框架和页面之间的隔离级别。在进行缩放之前,必须加载Xaml,因为必须将TypeInfo分配给MetaData树。

使用root().Scale(float3)进行刻度。若要根据设备的缩放情况调整刻度,请调用root().XamlRoot()并获取栅格化刻度:

float rastScale = (float)root().XamlRoot().RasterizationScale()

然后将刻度设置为:

root().Scale({(1/rastScale), (1/rastScale), 1.0f})

当文档中写着XamlRoot时,您实际上是在调用x:Name,而不是静态管道。不能使用this->XamlRoot(),因为这将返回null。您不能x:Name Xaml类来获取XamlRoot()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72779843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档