Windows Phone 8 常用UI控件
1. Grid控件
Grid定義由列和行組成的網(wǎng)格布局。Grid.RowDefinitions和Grid.ColumnDefinitions集合分別包含 RowDefinition和ColumnDefinition用來定義行和列的寬度和高度,行列的數(shù)量是根據(jù)集合中子對象的數(shù)量被定義的。各子對象中 Grid.Row和Grid.Column屬性用于定義在網(wǎng)格中的位置。
2. StackPanel控件
StackPanel控件可以使布局內(nèi)的各子對象以水平或垂直的方式順序排列。通過設(shè)置Orientation="Vertical"或者Orientation="Horizontal"來定義排列方式。默認情況以垂直方向排列子對象。
3. Canvas
以絕對位置的方式布局。通過設(shè)置子對象Canvas.Left 指定對象與所在的 Canvas 的左側(cè)之間的距離(x 坐標);Canvas.Top 指定對象與所在的 Canvas 的頂部之間的距離(y 坐標)
Canvas 可以包含子對象,這些子對象呈現(xiàn)在 Canvas 區(qū)域中,是通過坐標來顯式定位的。由于絕對定位不考慮瀏覽器窗口的大小或瀏覽器大小調(diào)整,因此一般***使用 Grid 或 StackPanel 作為容器。
由于 Canvas 為 UIElement 類型,因此可以嵌套 Canvas 對象
很多情況下,Canvas 僅僅用作其他對象的容器,而沒有任何可見屬性。如果滿足以下任一條件,Canvas 即不可見
Height 屬性等于 0
Width 屬性等于 0
Background 屬性等于 nullNothingnullptrnull 引用(在 Visual Basic 中為 Nothing)
Opacity 屬性等于 0
Visibility 屬性等于 Visibility.Collapsed。
Canvas 的某個上級對象不可見。
- <Canvas Width="300" Height="300" Background="White">
- <Canvas Width="250" Height="250" Canvas.Left="30"
- Canvas.Top="30" Background="blue">
- <Rectangle Canvas.Left="30" Canvas.Top="30"
- Fill="red" Width="200" Height="200" />
- </Canvas>
- </Canvas>
4. ScrollViewer
ScrollViewer控件用來表示可包含其他可見元素的可滾動區(qū)域。設(shè)置HorizontalScrollBarVisibility 和VerticalScrollBarVisibility屬性可以控制水平滾動條和垂直滾動條的狀態(tài)。
5. Border
Border 控件不太適用于布局,但是確實是容器控件。
Border 控件可為另一控件提供邊框和/或背景。一個邊框只能包含一個子元素。
下面的示例演示如何在 StackPanel 中包含的多個 TextBlock 對象周圍放置一個邊框。
- <Border BorderThickness="5" BorderBrush="Blue" >
- <StackPanel Grid.Column="0" Grid.Row="0">1 q)
- <TextBlock Text="One"/>
- <TextBlock Text="Two"/>
- <TextBlock Text="Three"/>
- </StackPanel>
- </Border>