Windows Phone開發(fā)(10):常用控件(上)
Windows Phone的控件有幾個來源,和傳統(tǒng)的桌面應(yīng)用程序開發(fā)或Web開發(fā)一樣,有默認(rèn)提供的控件和第三方開者發(fā)布的控件。一般而言,如果不是過于復(fù)雜的界面布 局,使用默認(rèn)控件就足矣。相比之下,Android SDK中盡管提供了許多可視化控件,但你會發(fā)現(xiàn),實際開發(fā)用到的并不多,而且很多控件完全只是擺設(shè),既沒有公開相應(yīng)的操作方法也沒有更多可用于開發(fā)者自行 處理的監(jiān)聽器(這里我習(xí)慣翻譯為監(jiān)聽器,在安卓里面沒有像C#那樣使用事件,而是new一個監(jiān)聽器,當(dāng)然原理是相似的)。
除了游戲開外,我們在WP上基本上是使用Silverlight,因此,WP的大部分控件都來自Silverlight(銀光)。
一、TextBlock控件。
這個控件的功用和Android里面的TextView一樣,無它就是用來顯示一些靜文本,當(dāng)然,這個靜態(tài)文本不是說我們不能修改,而只是一個相對詞,相 對于可以讓用戶進行輸入的文本框控件而言的,沒什么,如果大家做過WinForm開發(fā),它就相當(dāng)于Label控件,如果你接觸過以前VC++中的MFC開 發(fā)的,也類似于Static文本控件。好了,廢話說多了,我們來看看例子吧。
- <TextBlock x:Name="txtBlock" Text="你好。"/>
 
對,這樣我們就在頁面中聲明了一個TextBlock,并把上面顯示的文本文設(shè)置為“你好”。
對于如何聲明控件,我就不多說了,你可以使用設(shè)計視圖,直接從工具箱中拖放,然后在“屬性”窗口中進行設(shè)置,這和傳統(tǒng)的WinForm開發(fā)差不多。
對于TextBlock控件,也許我們最常用的屬性有兩個:
1、Text,不用多介紹了,當(dāng)然是顯示的文本內(nèi)容了。
2、FontSize,調(diào)整字體的大小。
下面我再通過一個例子來說一下TextBlock控件的高級使用方法,何為高級?哈,看了你就知道。
- <TextBlock x:Name="txtBlock" FontSize="42" TextWrapping="Wrap">
 - 你好,<Bold>小黃</Bold>,<Italic>今天幾點起床?</Italic>
 - </TextBlock>
 
(圖1)

上例中,我們看到,“你好”是正常顯示的,“小黃”是被加粗的,“今天幾點起床”是斜體。也就是說,在TextBlock內(nèi)部我們可以使用相關(guān)的文檔格式化標(biāo)記,使文本能以多
種形式展示。
再看一個例子。
- <TextBlock Grid.Row="2" FontSize="40" >
 - 優(yōu)酷視頻<LineBreak/>土豆視頻
 - </TextBlock>
 
這樣,我們就可把文本進行換行。
(圖2)

下面再來看看Run元素的使用,因為是從Silverlight繼承過來,所以不一定所有標(biāo)記都有效,我們不妨多試試。
- <TextBlock Grid.Row="4" FontSize="40" TextWrapping="Wrap">
 - <Run FontStyle="Italic"
 - FontFamily="Tahoma"
 - FontSize="65"
 - Foreground="Orange">
 - 荷塘月色
 - </Run>
 - </TextBlock>
 
(圖3)

二、Button控件。
這個家伙相信不用我來引見了,大家一最熟悉不過了,按鈕在開發(fā)中使用的頻率是灰常高的,而它用起來也灰常簡單,關(guān)鍵是處理好它的單擊事件,就基本上完事了。
- <Button Content="Click Me" HorizontalAlignment="Left" Margin="58,68,0,0" Name="button1" VerticalAlignment="Top"
 - Click="button1_Click"/>
 
如果你對WPF或Silverlight不是很了解,我這里簡單說一下,
(圖4)

從上圖中我們看到,Button是從ContentControl中派生,也就是說,如果你要設(shè)置按鈕上顯示的文本,就應(yīng)當(dāng)設(shè)置它的Content屬性。
注意哦,Content屬性是object類型的,也就是,我們不僅僅可以設(shè)置文本作為按鈕的內(nèi)容,只要能被顯示的東東,我們都可以賦給Content屬性,不信?試試吧。
- <Button HorizontalAlignment="Left" Margin="58,68,0,0" Name="button1" VerticalAlignment="Top"
 - Click="button1_Click">
 - <Button.Content>
 - <Ellipse Height="76" Width="125">
 - <Ellipse.Fill>
 - <LinearGradientBrush
 - StartPoint="0,0"
 - EndPoint="1,1">
 - <GradientStop Color="Yellow" Offset="0.12"/>
 - <GradientStop Color="MediumVioletRed" Offset="1"/>
 - </LinearGradientBrush>
 - </Ellipse.Fill>
 - </Ellipse>
 - </Button.Content>
 - </Button>
 
運行之后看看,是不是很有意思?
(圖5)

三、CheckBox控件。
這個東東更不用說了,看示例吧。
- <StackPanel Orientation="Vertical">
 - <CheckBox Content="白菜" IsChecked="True"/>
 - <CheckBox Content="梨子"/>
 - <CheckBox Content="蘋果" IsChecked="False"/>
 - <CheckBox Content="鮮花"/>
 - </StackPanel>
 
(圖6)
















 
 
 
 
 
 
 