2.
StackPanel
控件
StackPanel控件可使佈局內的各子對象以水平或垂直的方式順序排列。經過設置Orientation="Vertical"或者Orientation="Horizontal"來定義排列方式。默認狀況以垂直方向排列子對象。
3.
Canvas
以絕對位置的方式佈局。經過設置子對象Canvas.Left 指定對象與所在的 Canvas 的左側之間的距離(x 座標);Canvas.Top 指定對象與所在的 Canvas 的頂部之間的距離(y 座標)。
Canvas 能夠包含子對象,這些子對象呈如今
Canvas 區域中,是經過座標來顯式定位的。因爲絕對定位不考慮瀏覽器窗口的大小或瀏覽器大小調整,所以通常最好使用
Grid 或
StackPanel 做爲容器。
因爲 Canvas 爲 UIElement 類型,所以能夠嵌套 Canvas 對象。佈局
不少狀況下,Canvas 僅僅用做其餘對象的容器,而沒有任何可見屬性。若是知足如下任一條件,Canvas 即不可見:spa
<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控件用來表示可包含其餘可見元素的可滾動區域。設置HorizontalScrollBarVisibility 和VerticalScrollBarVisibility屬性能夠控制水平滾動條和垂直滾動條的狀態。
5.
Border
控件不太適用於佈局,可是確實是容器控件。
Border 控件可爲另外一控件提供邊框和/或背景。一個邊框只能包含一個子元素。
Border
下面的示例演示如何在 StackPanel 中包含的多個 TextBlock 對象周圍放置一個邊框。
<Border BorderThickness="5" BorderBrush="Blue" >
<StackPanel Grid.Column="0" Grid.Row="0">
<TextBlock Text="One"/>
<TextBlock Text="Two"/>
<TextBlock Text="Three"/>
</StackPanel>
</Border>
6. TextBlock
文本控件
<TextBlock x:Name="ApplicationTitle" Text="MY APPLICATION" Style="{StaticResource PhoneTextNormalStyle}"/>
<TextBlock x:Name="PageTitle" Text="page name" Margin="-3,-8,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
示例中的TextBlock控件用於顯示少許文本,Text 屬性對應文本內容。Text 屬性能夠在XAML文件裏動態定義,也能夠在C#代碼中隨時修改。利用x:Name屬性定義的名稱來肯定要修改的TextBlock控件。在這個示例裏,能夠經過給ApplicationTitle.Text設置新的字符串來改變文本內容。
TextBlock控件沒法接收用戶輸入的文本,也不太適合過長文本的顯示。TextBox控件能夠勝任此類任務,代碼以下:
<TextBox Height="72" HorizontalAlignment="Left" Margin="10,10,0,0" Name="textBox1" Text="TextBox" VerticalAlignment="Top" Width="460" />
MaxLength屬性能夠控制文本的字符串長度。
對於密碼輸入,還可使用PasswordBox控件,代碼以下:
<PasswordBox Height="72" HorizontalAlignment="Left" Margin="10,92,0,0" Name="passwordBox1" VerticalAlignment="Top" Width="460" />
PasswordBox 控件還可使用PasswordChar定義密碼顯示的字符。
7. Button和HyperlinkButton
按鈕控件
按鈕控件包含Button控件和HyperlinkButton控件,HyperlinkButton控件想相比Button控件能夠沒必要處理單擊事件就能夠自動導航到爲 NavigateUri 指定的Uri。
<Button Content="Button" Height="72" HorizontalAlignment="Left" Margin="10,174,0,0" Name="button1" VerticalAlignment="Top" Width="160" />
<HyperlinkButton Content="HyperlinkButton" Height="30" HorizontalAlignment="Left" Margin="176,195,0,0" Name="hyperlinkButton1" VerticalAlignment="Top" Width="200" />
Button控件和HyperlinkButton控件均可以使用Content屬性來設置按鈕上的文字,除此以外,HyperlinkButton控件支持NavigateUri屬性來定義目標Uri。
8. RadioButton CheckBox
選擇控件
RadioButton用於一組選項中選擇一個選項,RadioButton有兩種把多個RadioButton控件分紅一組。放置到同一個父控件內,或者設置GroupName屬性。使用GroupName屬性也能夠把同一個父控件內的RadioButton分爲多組。同一組中的RadioButton會相互排斥,也就是說用戶只能使一個按鈕的狀態爲選中狀態。
<RadioButton Content="RadioButton" Height="72" HorizontalAlignment="Left" Margin="10,10,0,0" Name="radioButton1" VerticalAlignment="Top" />
RadioButton能夠設置爲選中,未被選中,禁用狀態。默認爲未被選中狀態,設置IsChecked="True"可把狀態變動爲選中,設置IsEnabled="False"能夠把狀態變動爲禁用。
CheckBox用於選擇多個選項。同RadioButton同樣,能夠經過設置IsChecked和IsEnabled來控制狀態。
<CheckBox Content="CheckBox" Height="72" HorizontalAlignment="Left" Margin="10,166,0,0" Name="checkBox1" VerticalAlignment="Top" />
CheckBox設置IsThreeState="True"後能夠增長一種狀態不肯定狀態。
Slider適合在一個範圍內選擇一個值。
<Slider Height="84" HorizontalAlignment="Left" Margin="0,326,0,0" Name="slider1" VerticalAlignment="Top" Width="460" />
Maximum和Minimum屬性用來定義最大值和最小值。Value屬性是Maximum和Minimum之間的一個值,用來定義Slider當前的值。默認的狀況下,Minimum="0" Maximum="10"。用戶能夠經過拖動來改變Slider的值,SmallChange屬性能夠定義拖動的精度,也能夠經過點擊來改變Slider的值,LargeChange屬性來定義值改變的精度。根據界面佈局的須要,利用Orientation屬性能夠設置水平和垂直方向。