我在BUILD活动中观看了“从小屏幕到大屏幕:使用XAML构建通用Windows应用体验”的会话。 http://channel9.msdn.com/Events/Build/2015/2-679
我想尝试使用AdaptiveTrigger,但它不能用我最小的Windows 10 UWP应用程序启动。
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="WindowSizeStates">
<VisualState x:Name="WideState">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="800"/>
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="rect.Fill" Value="Beige" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="NarrowState">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="0" />
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="rect.Fill" Value="White" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<RelativePanel>
<Rectangle x:Name="rect" Width="100" Height="100" RelativePanel.AlignTopWithPanel="True" Fill="Beige"/>
</RelativePanel>
</Grid>
但没有任何反应。似乎触发器根本没有被触发。我错过了什么吗?
问候!
答案 0 :(得分:17)
是的,当您将组放入页面而不是第一个控件内时,会发生这种情况。试着把它放进去:
<Grid...>
<VisualStateManager.VisualStateGroups>
</Grid>
除非你想制作更复杂的适应性触发器,我在这里写了一篇文章:codeproject advanced view states