1.使用XAML建立UI
XAML可以建立 靜態布局 和 動態布局。
在靜態布局中,你會對控制項給定明確的像素大小和位置。當使用者更改其裝置的解析度或方向時,UI 保持不變。靜態布局可對不同的外形因素和顯示尺寸進行展開、壓縮或剪下。
動態布局可縮小、放大和重新排列,從而適合裝置上的可用視覺空間。在動態布局中,當應用重新調整大小時,版面配置容器和控制項會隨之自動改變大小和位置。在 Windows 市集應用中,你仍可以在一些地方使用靜態元素和值,但請確保整體 UI 是動態,而且適應不同的解析度、布局和視圖。
大部分應用內容可以按分組和分層形式來組織。使用版面配置容器來分組和排列 UI 元素。XAML 布局系統提供了各種 Panel 控制項,例如Grid、StackPanel 和 Canvas,這些控制項可用作容器,你可以在其中排列內容。大多數容器可自動調整其子項目的大小(如果這些元素沒有明確的大小設定)。
使用 Grid 來排列行和列中的內容。使用 Grid.Row 和 Grid.Column 附加屬性對元素進行定位。 通過使用附加屬性 Grid.RowSpan 和Grid.ColumnSpan,可使得元素跨越多個行和列。
使用 StackPanel 來排列單個行中的內容。你可以設定 Orientation 屬性來垂直或水平堆疊項目
若要在 Grid 中定義行,則需要在 Grid.RowDefinitions 集合中添加 RowDefinition 對象。你可以在 RowDefinition 中設定屬性,以指定行的外觀。添加列的方法是相同的,只不過要使用 ColumnDefinition 對象和 Grid.ColumnDefinitions 集合。
請注意在開啟的 Grid 標記中該設定的情況:Grid.Row="1"。使用 Grid.Row 和 Grid.Column 附加屬性在 Grid 中對元素進行定位。行和列編號是從零開始的,因此該設定表示 "contentGrid" 面板已添加到其父 Grid 的第二行中。此屬性由 Visual Studio 根據拖動 Grid 的位置和添加其的時間來設定。