細數(shù)Silverlight 4的十二大引人注目新特性
原創(chuàng)【51CTO獨家特稿】序言
在過去的幾年里,脫胎于Windows Presentation Foundation(WPF)的Silverlight,很快成為了開發(fā)下一代跨瀏覽器,跨平臺的Rich Internet Application(RIAs)應(yīng)用程序的首選技術(shù)。Silverlight是一個瀏覽器插件,它促進了豐富的在線媒體內(nèi)容協(xié)同開發(fā)環(huán)境的發(fā)展,使開發(fā)者和設(shè)計師可以用相似的方式把多媒體和圖形內(nèi)容整合進Web頁面,當(dāng)然,這個Web頁需要運行在Microsoft .NET Framework托管環(huán)境的上下文中。本文將關(guān)注Silverlight 4那些引人注目的新特性,以及如何在應(yīng)用程序開發(fā)過程中使用它們,來設(shè)計和實現(xiàn)支持豐富的圖形和媒體的應(yīng)用程序。
為什么使用Silverlight 4?
Silverlight 4為構(gòu)建先進的多媒體和圖形應(yīng)用程序的開發(fā)者和設(shè)計師提供了強大的工具。在Silverlight 4中,對打印,rich reporting和圖表有相當(dāng)好的支持,也支持網(wǎng)絡(luò)攝像頭和麥克風(fēng),COM自動化,本地文件訪問,新語言,富文本編輯,同時改善了數(shù)據(jù)綁定的支持,等等。并且,你可以很容易的把你的Silverlight 4應(yīng)用程序和后端系統(tǒng),服務(wù)器產(chǎn)品(包括SharePoint)整合在一起。Silverlight 4的功能十分地豐富,它的發(fā)展將會進一步增加用Silverlight 4來構(gòu)建LOB應(yīng)用程序的需求。
前提條件
為了開發(fā)Silverlight 4應(yīng)用程序,你應(yīng)該在你的系統(tǒng)上安裝如下工具:
Microsoft Visual Studio 2010 RC 或更高的版本
Silverlight 4 Tools for Microsoft Visual Studio 2010
注意:如果你以前在你的系統(tǒng)上安裝過Silverlight 4 Beta或RC,你應(yīng)該在你的系統(tǒng)上卸載這些版本Silverlight,同時,在你安裝“Silverlight 4 Tools for Microsoft Visual Studio 2010”以前,你需要安裝“Update for Microsoft Visual Studio 2010 (KB976272)”補丁。并且,如果你安裝了“Silverlight 4 Tools for Visual Studio 2010”,那么你無需單獨安裝Silverlight 4 SDK。
Silverlight 4的12個頂級新特性
Silverlight 4提供了很多令人興奮的新特性。這個列表包含了Silverlight 4的12個頂級的令人興奮的新特性
1,對網(wǎng)絡(luò)攝像頭和麥克風(fēng)的支持
你可以使用Silverlight 4來構(gòu)建支持視屏和音頻共享的應(yīng)用程序。在你的系統(tǒng)中,你可以下面的代碼段來獲取所有可用的音頻和視頻源的列表:
- AudioSources.ItemsSource =
- CaptureDeviceConfiguration.GetAvailableAudioCaptureDevices();
- VideoSources.ItemsSource =
- CaptureDeviceConfiguration.GetAvailableVideoCaptureDevices();
2,對多播網(wǎng)絡(luò)的支持
這個特性可以讓企業(yè)減少會議和培訓(xùn)等流媒體播放活動,也可以和已經(jīng)投入使用Windows Media Server流媒體基礎(chǔ)設(shè)施進行無縫的交互。
3,性能優(yōu)化
使用Silverlight 4構(gòu)建的應(yīng)用程序相當(dāng)快,比Silverlight 3應(yīng)用程序快很多,這要感謝新的Just in Time編譯器。Silverlight 4應(yīng)用程序的啟動速度也比舊版本的Silverlight應(yīng)用程序快很多。
4,為Microsoft Visual Studio 2010提供了更好的開發(fā)工具
Silverlight 4 Tools for Visual Studio 2010相當(dāng)強大。它提供了十分優(yōu)秀的設(shè)計面板,rich proterty grids,并且支持XAML代碼的智能提示,數(shù)據(jù)綁定控件的拖放,等等。
5,支持在用戶的系統(tǒng)上訪問本地文件和文件夾
在Silverlight應(yīng)用程序中,你不再需要依靠OpenFileDialog和SavaFileDialog來訪問你系統(tǒng)中的文件和文件夾了,Silverlight 4現(xiàn)在允許你直接訪問你系統(tǒng)中的文件夾。允許訪問的文件夾包括所有“My”開頭的文件夾:MyDocuments,MyVideos,MyMusic,等等
6,支持COM互操作
你現(xiàn)在可以用Silverlight 4來和COM接口交互。舉例來說,你現(xiàn)在可以用ComAutomationFactory API,在Microsoft Office應(yīng)用程序和Silverlight之間進行無縫的通信。你可以用這個代碼段來讓你的Silverlight 4應(yīng)用程序和Microsoft office對話:
- dynamic excel = ComAutomationFactory.CreateObject("Excel.Application");
- excel.Visible = true;
- dynamic workbook = excel.workbooks;
- workbook.Add();
- dynamic sheet = excel.ActiveSheet;
類似地,你也可以用下面的代碼段來讓你的Silverlight 4應(yīng)用程序和Microsoft Word對話:
- dynamic word = ComAutomationFactory.CreateObject("Word.Application");
- word.Documents.Add();
- word.Visible = true;
7,加強了對Out-of-browser應(yīng)用程序的支持
Silverlight 3對運行在桌面上的RIA應(yīng)用程序提供了無縫的支持,這些RIA程序不需要任何的附加代碼或運行時,Silverlight 4進一步擴展了這個功能。對Out-of-browser應(yīng)用程序的支持開始于Silverlight 3。Silverlight 4進一步加強了對Out-of-browser應(yīng)用程序的支持,它現(xiàn)在已經(jīng)放寬了運行這樣的應(yīng)用程序的時候的一些沙箱限制。在提升權(quán)限的情況下執(zhí)行out-of-browser應(yīng)用程序,Silverlight 4運行時可以提供如下支持:
支持伴隨著策略文件檢查的跨域網(wǎng)絡(luò)訪問
支持訪問用戶文件夾
支持COM交互
支持HTML hosting
注意:為了在安裝out-of-browser應(yīng)用程序的時候請求提升權(quán)限,你應(yīng)該在你的ApplicationManifest.xaml文件中指定下面的配置,
- <OutOfBrowserSettings.SecuritySettings>
- <SecuritySettings ElevatedPermissions="Required" />
- </OutOfBrowserSettings.SecuritySettings>
8,支持用WebBrowser控件Hosting HTML內(nèi)容
Silverlight 4現(xiàn)在支持使用WebBrowser控件Hosting HTML內(nèi)容。這個例子展示了WebBrowser控件的標(biāo)記代碼:
- <WebBrowser x:Name="TestBrowserControl" Width="800" Height="600" />
然后你可以這樣使用WebBrowser控件的NavigateToString()方法:
- TestBrowserControl.NavigateToString
- ("<div><b>Joydip Kanjilal</b></div>");
你也可以使用下面的代碼段導(dǎo)航到一個URL:
- TestBrowserControl.Navigate
- (new Uri("http://aspadvice.com/blogs/joydip"));
9,支持RichTextArea
Silverlight 4包括一個叫RichTextArea的文本編輯控件,它支持存儲各種類型和大小的rich文本。Silverlight4的RichTextArea控件也可以載入和保存基本的HTML內(nèi)容。這個控件的標(biāo)記代碼如下:
- <RichTextArea x:Name="MyRichTextAreaControl" Grid.Row="1" />
現(xiàn)在,要把RichTextArea控件中的內(nèi)容變成黑體,你可以使用如下代碼:
- MyRichTextAreaControl.Selection.SetPropertyValue(TextElement.FontWeightProperty, FontWeights.Bold)
同樣,這是為控件中的文本添加下劃線的代碼:
- MyRichTextAreaControl.Selection.SetPropertyValue
- (TextElement.TextDecorationsProperty, TextDecorations.Underline)
10,支持剪貼板API
Silverlight 4提供的新的剪貼板API,可以讓你把內(nèi)容從剪貼板粘貼到Silverlight應(yīng)用程序,下面的代碼段說明了如何存儲系統(tǒng)剪貼板中的文本:
- Clipboard.SetText("This is a sample text.");
11,支持打印API
Silverlight 4提供了可擴展的打印API,為了直接打印Silverlight應(yīng)用程序中的內(nèi)容,可以使用這些API來建立一個虛擬的可視化樹。你可以通過Silverlight 4的打印API中的PrintDocument類來使用打印功能。
12,支持鼠標(biāo)右擊事件的處理
Silverlight中的事件處理更簡單,也更靈活。你現(xiàn)在可以用Silverlight 4來設(shè)計和實現(xiàn)使用MouseRightButtonUp/Down事件的上下文菜單風(fēng)格的應(yīng)用程序了。這是訂閱鼠標(biāo)右鍵事件的代碼:
- SampleControl.MouseRightButtonDown += new MouseButtonEventHandler(RectangleContextDown);
- SampleControl.MouseRightButtonUp += new MouseButtonEventHandler(RectangleContextUp);
總結(jié)
在這篇文章里我們快速的瀏覽了Silverlight 4的新特性?,F(xiàn)在我只討論上面的這些特性,在我以后的文章里我將會討論Silverlight4的其他引人注目的特性,敬請期待!
原文標(biāo)題:12 New Features in Silverlight 4
【編輯推薦】