1. 程式人生 > >UWP UserControl 不會自適應大小

UWP UserControl 不會自適應大小

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 不會自適應大小