1. 程式人生 > >Windows Phone開發(10):常用控件(上)

Windows Phone開發(10):常用控件(上)

androi chm att size near grid txt idt inf

Windows Phone的控件有幾個來源,和傳統的桌面應用程序開發或Web開發一樣,有默認提供的控件和第三方開者發布的控件。一般而言,如果不是過於復雜的界面布局,使用默認控件就足矣。相比之下,Android SDK中盡管提供了許多可視化控件,但你會發現,實際開發用到的並不多,而且很多控件完全只是擺設,既沒有公開相應的操作方法也沒有更多可用於開發者自行處理的監聽器(這裏我習慣翻譯為監聽器,在安卓裏面沒有像C#那樣使用事件,而是new一個監聽器,當然原理是相似的)。

除了遊戲開外,我們在WP上基本上是使用Silverlight,因此,WP的大部分控件都來自Silverlight(銀光)。

一、TextBlock控件。


這個控件的功用和Android裏面的TextView一樣,無它就是用來顯示一些靜文本,當然,這個靜態文本不是說我們不能修改,而只是一個相對詞,相對於可以讓用戶進行輸入的文本框控件而言的,沒什麽,如果大家做過WinForm開發,它就相當於Label控件,如果你接觸過以前VC++中的MFC開發的,也類似於Static文本控件。好了,廢話說多了,我們來看看例子吧。

  1. <TextBlock x:Name="txtBlock" Text="你好。"/>


對,這樣我們就在頁面中聲明了一個TextBlock,並把上面顯示的文本文設置為“你好”。
對於如何聲明控件,我就不多說了,你可以使用設計視圖,直接從工具箱中拖放,然後在“屬性”窗口中進行設置,這和傳統的WinForm開發差不多。

對於TextBlock控件,也許我們最常用的屬性有兩個:
1、Text,不用多介紹了,當然是顯示的文本內容了。
2、FontSize,調整字體的大小。

下面我再通過一個例子來說一下TextBlock控件的高級使用方法,何為高級?哈,看了你就知道。

  1. <TextBlock x:Name="txtBlock" FontSize="42" TextWrapping="Wrap">
  2. 你好,<Bold>小黃</Bold>,<Italic>今天幾點起床?</Italic>
  3. </TextBlock>


(圖1)

技術分享

上例中,我們看到,“你好”是正常顯示的,“小黃”是被加粗的,“今天幾點起床”是斜體。也就是說,在TextBlock內部我們可以使用相關的文檔格式化標記,使文本能以多
種形式展示。

再看一個例子。

  1. <TextBlock Grid.Row="2" FontSize="40" >
  2. 優酷視頻<LineBreak/>土豆視頻
  3. </TextBlock>


這樣,我們就可把文本進行換行。
(圖2)

技術分享

下面再來看看Run元素的使用,因為是從Silverlight繼承過來,所以不一定所有標記都有效,我們不妨多試試。

  1. <TextBlock Grid.Row="4" FontSize="40" TextWrapping="Wrap">
  2. <Run FontStyle="Italic"
  3. FontFamily="Tahoma"
  4. FontSize="65"
  5. Foreground="Orange">
  6. 荷塘月色
  7. </Run>
  8. </TextBlock>


(圖3)

技術分享


二、Button控件。


這個家夥相信不用我來引見了,大家一最熟悉不過了,按鈕在開發中使用的頻率是灰常高的,而它用起來也灰常簡單,關鍵是處理好它的單擊事件,就基本上完事了。

  1. <Button Content="Click Me" HorizontalAlignment="Left" Margin="58,68,0,0" Name="button1" VerticalAlignment="Top"
  2. Click="button1_Click"/>


如果你對WPF或Silverlight不是很了解,我這裏簡單說一下,

(圖4)

技術分享

從上圖中我們看到,Button是從ContentControl中派生,也就是說,如果你要設置按鈕上顯示的文本,就應當設置它的Content屬性。
註意哦,Content屬性是object類型的,也就是,我們不僅僅可以設置文本作為按鈕的內容,只要能被顯示的東東,我們都可以賦給Content屬性,不信?試試吧。

  1. <Button HorizontalAlignment="Left" Margin="58,68,0,0" Name="button1" VerticalAlignment="Top"
  2. Click="button1_Click">
  3. <Button.Content>
  4. <Ellipse Height="76" Width="125">
  5. <Ellipse.Fill>
  6. <LinearGradientBrush
  7. StartPoint="0,0"
  8. EndPoint="1,1">
  9. <GradientStop Color="Yellow" Offset="0.12"/>
  10. <GradientStop Color="MediumVioletRed" Offset="1"/>
  11. </LinearGradientBrush>
  12. </Ellipse.Fill>
  13. </Ellipse>
  14. </Button.Content>
  15. </Button>


運行之後看看,是不是很有意思?
(圖5)

技術分享

三、CheckBox控件。


這個東東更不用說了,看示例吧。

  1. <StackPanel Orientation="Vertical">
  2. <CheckBox Content="白菜" IsChecked="True"/>
  3. <CheckBox Content="梨子"/>
  4. <CheckBox Content="蘋果" IsChecked="False"/>
  5. <CheckBox Content="鮮花"/>
  6. </StackPanel>


(圖6)

技術分享

Windows Phone開發(10):常用控件(上)