我正在尝试构建一个UWP应用程序,它使用Hub组件在宽模式下显示2个HubSections(默认),然后切换到在窄模式下只显示一个HubSection
我的HubSection定义如下:
<Hub>
<HubSection x:Name="Column1" Header="section 1" Background="Cornsilk">
</HubSection>
<HubSection x:Name="Column2" Header="section 2" Background="Chocolate">
</HubSection>
</Hub>
我的Visual State Manager定义如下:
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="AdaptiveStates">
<VisualState x:Name="DefaultState">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="720" />
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="Column1.Width" Value="500" />
<Setter Target="Column2.Width" Value="700" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="NarrowState">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="0" />
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="Column1.Width" Value="*" /> <--- This line doesn't work as * is not a number
<Setter Target="Column2.Width" Value="0" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
问题是如何将组件的宽度设置为*或&#34;使用所有可用空间&#34;在可视状态管理器中?
答案 0 :(得分:1)
对HubControl不确定,但我对普通网格做了同样的事情(隐藏了一列)。
来源:https://github.com/AppCreativity/Kliva/blob/master/src/Kliva/Views/MainPage.xaml#L75
我需要为columndefinitions命名并使用可视状态管理器中的名称