2015-05-29 40 views
6

我從BUILD事件中觀看了「從小屏幕到大屏幕:使用XAML構建通用Windows應用程序體驗」會話。 http://channel9.msdn.com/Events/Build/2015/2-679VisualState AdaptiveTrigger未觸發

我想嘗試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> 

但沒有任何反應。似乎觸發器根本沒有被解僱。我錯過了什麼?

問候!

回答

15

是的,當您將組放置在Page中而不是在第一個控件中時,就會發生這種情況。除了

<Grid...> 
    <VisualStateManager.VisualStateGroups> 

</Grid> 

如果你想我做了一個在這裏多條複雜的適應性觸發器:儘量把裏面codeproject advanced view states

+0

謝謝,它的工作原理:) 我試圖VisualStateManager置於其之前的沒RelativePanel也沒有工作。 – SeBo

+0

我注意到,在VS2017的最後一個或三個版本中,我的AdaptiveTrigger工作不正常,但僅在調試期間。如果我用VS啓動應用程序,那麼他們不起作用,如果我通過點擊應用程序從他們所做的瓦片正常啓動。 :(我在VS2017 15.5.4。其他人? –