Попробуйте написать это следующим образом
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="SizeGroup">
<VisualState x:Name="Large">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="1000"/>
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="MainContent.Background"
Value="Blue"/>
</VisualState.Setters>
</VisualState>
<VisualState x:Name="Small">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="0"/>
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="MainContent.Background"
Value="Red"/>
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
Порядок, объявленный в XAML, важен, поэтому вы должны сначала объявить наибольшее значение MinWindowWidth
, а затем меньшее. В вашем случае маленький со значением 0 оценивается первым и всегда верным.
Вы можете отследить ошибку здесь