Create a new blank UWP app and inside the main page add a Pivot control that has no child items but with a green background. Then add a visual state that updates the background for the Pivot to yellow depending on the window width...
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup>
<VisualState>
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="641"/>
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="Pivot.Background" Value="Yellow"/>
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Pivot x:Name="Pivot"
Background="Green"
</Pivot>
</Grid>
When the window is larger than 641 pixels the background is changed to yellow and if you resize below 641 it becomes green. Keep dragging the window size and it updates dynamically as you go along, as you would expect.
BUT..
As soon as you add a PivotItem into the control it no longer works...
<Pivot x:Name="Pivot"
Background="Green"
<PivotItem>
<TextBlock>Test</TextBlock>
</PivotItem>
</Pivot>
When it first runs the background is yellow because the default window size is more than 641 pixels wide. Resize the window below 641 and it reverts back to green. BUT from now on it stays green and never goes back to yellow when resized.
Seems like a bug to me, but maybe someone else can see the obvious mistake I am making?