UWP UserControl 不會自適應大小
阿新 • • 發佈:2018-01-30
value over div overflow tar 通過 user 作用 cst
在一般的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
UWP UserControl 不會自適應大小