WP控制項大部分都可以從Silverlight中繼承過來,這裡我也只能拿一部分作示範,對於其它控制項如何使用,可以參考SDK相關說明以及Silverlight SDK文檔。
一、RadioButton控制項。
這是一個單選控制項,不用多解釋,我們見得多了,N選1,控制項是否被使用者選中,由IsChecked屬性標記。
另外,要注意的一點是GroupName屬性,它輸入一個分組名,這個名由我們自己來取,目的也是為了分組,因為是單選,所以,一個容器中可能有N多個RadioButton控制項或都有多組RadioButton控制項,因此,組名就發揮了作用,也就是說,同一個組內的只能選一個,比如,有一個組A,A中包含3個RadioButton控制項,分別為紅燈,綠燈,黃燈,因此,這三個之中你只能選擇一個,另外有一組B,B中有一個RadioButton控制項,表示黑燈。由於屬於不同的組,紅燈和黑燈可以同時被選擇,或者,綠燈和黑燈可以同時選中。
下面看一個例子:
<RadioButton Content="豬頭" Height="115" HorizontalAlignment="Left" Margin="58,50,0,0" Name="rad01" VerticalAlignment="Top" FontSize="43" Width="333" GroupName="G1" Checked="radioBtn_Checked" /> <RadioButton Content="牛頭" Height="115" HorizontalAlignment="Left" Margin="58,207,0,0" Name="rad02" VerticalAlignment="Top" FontSize="43" Width="333" GroupName="G1" Checked="radioBtn_Checked" /> <RadioButton Content="狗頭" Height="109" HorizontalAlignment="Left" Margin="58,351,0,0" Name="rad03" VerticalAlignment="Top" FontSize="43" Width="333" GroupName="G1" Checked="radioBtn_Checked" />
private void radioBtn_Checked(object sender, RoutedEventArgs e) { RadioButton rdb = e.OriginalSource as RadioButton; if (rdb != null) { string msgc = rdb.Content as string; if (msgc != null) { MessageBox.Show("你選擇了:" + msgc); } } }
(圖1)
二、Image控制項。
這個傢伙,看名字你也猜到它是幹啥的。呵呵,對的,它就是用於顯示圖片的。
該控制項有兩個屬性要關心。
1、Source:既支援本地圖片,當然,一般把圖片編譯為資源好一些,這樣它就和.dll一起壓縮排xap包裡面了;同時,該屬性也支援網狀圖片。
2、Stretch:圖片在控制項中如何放置。
如下面的例子:
<Image HorizontalAlignment="Stretch" Margin="3" Name="image1" Stretch="Fill" VerticalAlignment="Stretch" Source="/ControlsSample2;component/Images/Desert.jpg" />
(圖2)
接下來我們看看,Stretch屬性取不同的值會有什麼效果。
(圖3、4)
可能不明顯,大家可以自己動手試試。
三、ListBox控制項。
就算你沒玩過WPF,在WinForm裡面你肯定耍得不少了,綁定資料請設定ItemsSource屬性。
<ListBox HorizontalAlignment="Stretch" Margin="3" Name="listBox1" VerticalAlignment="Stretch" />
this.listBox1.ItemsSource = new string[] { "龍騰虎躍", "虎頭蛇尾", "葉公好龍", "水落石出" };
(圖5)
四、HyperlinkButton控制項。
在介紹導航的時候也提到過這個控制項了,對了,用它可以輕鬆地實現頁面導航,例子就省略了吧,呵呵,又節約了幾百個字。