Windows Phone 7 經常使用控件簡介

轉載:http://www.cnblogs.com/linzheng/archive/2011/02/09/1950373.htmlhtml


  1.Grid控件瀏覽器

Grid定義由列和行組成的網格佈局。Grid.RowDefinitions和Grid.ColumnDefinitions集合分別包含RowDefinition和ColumnDefinition用來定義行和列的寬度和高度,行列的數量是根據集合中子對象的數量被定義的。各子對象中Grid.Row和Grid.Column屬性用於定義在網格中的位置。ide

2. StackPanel 控件
StackPanel控件可使佈局內的各子對象以水平或垂直的方式順序排列。經過設置Orientation="Vertical"或者Orientation="Horizontal"來定義排列方式。默認狀況以垂直方向排列子對象。
3. Canvas
以絕對位置的方式佈局。經過設置子對象Canvas.Left 指定對象與所在的 Canvas 的左側之間的距離(x 座標);Canvas.Top 指定對象與所在的 Canvas 的頂部之間的距離(y 座標)。
   Canvas 能夠包含子對象,這些子對象呈如今 Canvas 區域中,是經過座標來顯式定位的。因爲絕對定位不考慮瀏覽器窗口的大小或瀏覽器大小調整,所以通常最好使用 GridStackPanel 做爲容器。

因爲 CanvasUIElement 類型,所以能夠嵌套 Canvas 對象。佈局

不少狀況下,Canvas 僅僅用做其餘對象的容器,而沒有任何可見屬性。若是知足如下任一條件,Canvas 即不可見:spa

  • Height 屬性等於 0。orm

  • Width 屬性等於 0。htm

  • Background 屬性等於 nullNothingnullptrnull 引用(在 Visual Basic 中爲 Nothing對象

  • Opacity 屬性等於 0。blog

  • 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控件用來表示可包含其餘可見元素的可滾動區域。設置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屬性能夠設置水平和垂直方向。
相關文章
相關標籤/搜索