UWP UserControl 不会自适应大小
在一般的Page里面,我们通过VisualStateManager,可以根据窗体的宽度,来调整一些控件大小。
<VisualStateManager.VisualStateGroups> <VisualStateGroup x:Name="WindowStates"> <VisualState x:Name="PanoramicState"> <VisualState.StateTriggers> <AdaptiveTrigger MinWindowWidth="1024"/> </VisualState.StateTriggers> <VisualState.Setters> <Setter Target="row1.Height" Value="0"/> <Setter Target="gridX.Visibility" Value="Collapsed"/> </VisualState.Setters> </VisualState> <VisualState x:Name="WideState"> <VisualState.StateTriggers> <AdaptiveTrigger MinWindowWidth="640"/> </VisualState.StateTriggers> <VisualState.Setters> <Setter Target="column1.Width" Value="0"/> <Setter Target="gridY.Visibility" Value="Collapsed"/> </VisualState.Setters> </VisualState> <VisualState x:Name="NarrowState"> <VisualState.StateTriggers> <AdaptiveTrigger MinWindowWidth="0"/> </VisualState.StateTriggers> <VisualState.Setters> <Setter Target="column1.Width" Value="0"/> <Setter Target="gridY.Visibility" Value="Collapsed"/> </VisualState.Setters> </VisualState> </VisualStateGroup> </VisualStateManager.VisualStateGroups>
挡在UserControl里面使用的时候,需要注意下VisualStateManager需要放在根控件的里面,比如定义Grid
<Grid> <VisualStateManager.VisualStateGroups> <VisualStateManager.VisualStateGroups/> 其他控件。。。 <Grid/>
这样自适应才会起作用。
查了Stackoverflow才知道的。https://stackoverflow.com/questions/38175647/uwp-visualstates-in-usercontrol
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人