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