微軟于PDC2009上釋出Silverlight 4 Beta版,微軟在Silverlight 4版本中處理了約8000個的Silverlight終端使用者的請求,加入了一系列另開發人員興奮的新特性,最突出的主要展現在幾個方面:
開發工具增強:Visual Studio 2010具有可視化的設計工具,建立項目時可以選擇運作時版本是3.0還是4.0,BLEND4加入XAML和C#代碼全方位智能感覺功能、XAML的樣式應用更為易用等。
攝像頭與MIC硬體支援:可以用極少量的代碼實作啟用使用者本機的WebCam和Mic,并可進行本地錄制。
報表列印支援:報表列印問題在Silverlight4中得到的較好的解決。
更強大的基礎類控件(RichTextBox、DataGrid增強版):富文本控件RichTextBox和具有可粘貼、排序功能的DataGrid被加入。
WCF增強:終于支援TCP通訊,比較HTTP提升3-5倍,限于4502-4534端口。
相容性增強:對Google的Chrome浏覽器的支援。
MEF支援:MEF全稱為Managed Extensibility Framework,譯為“托管擴充架構”,支援建立大型複雜的應用程式。
運作速度提升:啟動速度和渲染速度較前個版本提升約2倍左右。
DRM增強:支援PlayReady,可以對視訊和音頻的播放進行的保護,補充了對H.264的DRM保護。
其它增強:本地檔案讀寫、滑鼠右鍵事件支援、剪粘闆支援。
Silverlight 4.0開始加入了System.Windows.Clipboard(剪切闆操作)類,有了它我們就可以非常友善的操作剪切闆的資料了,這讓一些Silverlight應用程式中的文本可以COPY到Clipboard之中,同時你可以将從其它來源COPY到剪切闆中的内容粘貼到Silverlight應用程式之中,在此之前我們隻能通過JavaScript來通路剪切闆。
接下來我們看一下Clipboard類為我們帶來了什麼,Clipboard類支援ContainsText、SetText和GetText三個方法,其中ContainsText可以傳回一個bool類型的值,讓我們知道剪切闆目前儲存的類型是否是Silverlight所支援的Unicode類型字元,SetText和GetText分别是用來設定和獲GetText剪切闆的文本資料。
下面我們看一個Silverlight操作剪切闆的執行個體:
XAML:
1 <Grid x:Name="LayoutRoot" Width="400" Height="200" Background="White">
2 <Grid.RowDefinitions>
3 <RowDefinition/>
4 <RowDefinition/>
5 </Grid.RowDefinitions>
6 <Grid.ColumnDefinitions>
7 <ColumnDefinition />
8 <ColumnDefinition Width="100"/>
9 </Grid.ColumnDefinitions>
10 <TextBox x:Name="tbCopy" Width="260" Height="30"/>
11 <TextBox x:Name="tbPaste" Width="260" Height="30" Grid.Row="1"/>
12 <Button Content="複制" Grid.Column="1"
13 Click="btnCopy_Click"
14 x:Name="btnCopy" Width="80" Height="25"/>
15 <Button Content="粘貼" Grid.Column="1" Grid.Row="1"
16 Click="btnPaste_Click"
17 x:Name="btnPaste" Width="80" Height="25"/>
18 </Grid>
C#:
1 private void btnCopy_Click(object sender, RoutedEventArgs e)
2 {
3 if (tbCopy.Text != string.Empty)
4 {
5 //設定剪切闆
6 Clipboard.SetText(tbCopy.Text);
7 }
8 }
9
10 private void btnPaste_Click(object sender, RoutedEventArgs e)
11 {
12 //判斷剪切闆是否包括文本字元
13 if (Clipboard.ContainsText())
14 {
15 //擷取剪切闆
16 tbPaste.Text = Clipboard.GetText();
17 }
18 }
運作結果如圖所示。
第一次運作SetText會讓使用者确認是否允許Silverlight操作剪切闆,如果使用者點選否會引發Clipboard access is not allowed異常。
下圖完成粘貼(Paste)操作。
需要注意的是Silverlight與WPF不同的是,Silverlight僅僅支援Unicode字元類型的剪切闆操作,還不能像WPF那像可以對不同的類型的剪切闆操作,盡管如此,但是至少是Silverlight技術的一個增強,正是這種不斷的進步使更多的理想在Silverlight中變為可能。
希望對大家有用!
<a href="http://blog.csdn.net/dotfun/archive/2010/02/18/5310646.aspx"></a>
本文轉自dotfun 51CTO部落格,原文連結:http://blog.51cto.com/dotfun/285180