Win8 笔记 导航、布局和视图
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 的位置和添加其的时间来设置。