2015-05-29 3 views
6

Я смотрел сеанс «От маленького экрана до большого экрана: создание универсальных приложений для Windows с XAML» из события BUILD. 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

Да, это происходит, когда вы кладете группы на странице вместо первого элемента управления. Попробуйте положить внутрь:

<Grid...> 
    <VisualStateManager.VisualStateGroups> 

</Grid> 

Помимо если вы хотите сделать более сложные адаптационные триггеры, которые я сделал статью здесь: codeproject advanced view states

+0

Спасибо, это работает :) Я попытался поместить VisualStateManager в RelativePanel, перед которым Бесполезный Не работайте. – SeBo

+0

Я заметил, что во время последнего или трех выпусков VS2017 мои AdaptiveTriggers работают некорректно, но только во время отладки. Если я запускаю приложение с VS, они не работают, если я начну нормально, щелкнув приложение с плитки, которую они делают. :(Я на VS2017 15.5.4. Кто-нибудь еще? –

Смежные вопросы