Windows 8 應用需適應四種核心視圖狀態,透過 VisualStateManager 實現無縫切換。理解視圖特性與切換機制是打造響應式介面的基礎。
| 視圖狀態 | 描述 | 最小解析度 |
|---|---|---|
| FullScreenLandscape | 全螢幕橫向(主要瀏覽模式) | 1366×768 |
| Filled | 填充視圖(佔據螢幕大部分,側邊為貼靠視圖) | 1024×768 |
| Snap | 貼靠視圖(固定 320px 寬度,單欄垂直捲動) | 1366×768 |
| FullScreenPortrait | 全螢幕縱向(平板直立模式) | 768×1366 |

在 XAML 設計器中可即時切換預覽不同視圖:

模擬器工具列提供視圖切換按鈕,支援拖曳邊緣觸發貼靠、旋轉裝置觸發縱向視圖。

頁面基類 LayoutAwarePage 內建視圖狀態管理:
Window.Current.SizeChanged 事件VisualStateManager.GoToState 切換對應 VisualState<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="ApplicationViewStates">
<VisualState x:Name="FullScreenLandscape" />
<VisualState x:Name="Filled" />
<VisualState x:Name="Snapped">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="listView"
Storyboard.TargetProperty="Visibility">
<DiscreteObjectKeyFrame KeyTime="0" Value="Visible"/>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="gridView"
Storyboard.TargetProperty="Visibility">
<DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="FullScreenPortrait" />
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>

掌握視圖狀態機制後,下一章將詳細說明貼靠視圖的專屬設計規範與實作技巧。