成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Silverlight 4 初學者的10大經典問答

開發
在學習Silverlight 4的過程中,Silverlight的最新版本幾乎沒有指南或圖書,我建立了一個列表,這個列表包括十個最經典的問題的解答,當我剛開始學習Silverlight的時候,我總是希望能更容易地找到這些問題的答案。

我正在自學Silverlight / WPF,我打算用它們來實現我在StannardLabs的下一個大項目的一部分:一系列支持WinMo7 / Android / iOS phones的休閑小游戲。學習每個平臺是如何工作的,有什么區別,和在每個平臺上的應用程序商店的有什么區別成了家常便飯。

在學習Silverlight 4的過程中,Silverlight的***版本幾乎沒有指南或圖書,我建立了一個列表,這個列表包括十個最經典的問題的解答,當我剛開始學習Silverlight的時候,我總是希望能更容易地找到這些問題的答案。也許是因為我使用了錯誤的詞匯來搜索,或者,也許有一些事情專業的Silverlight / WPF開發人員認為很明顯,并不需要包括在他們的圖書和博客條目里。所以我不能很快地找出這些問題的答案。為了方便大家,我首先對這些問題進行研究。

這是我的列表:

1,在一個應用程序中,我怎樣導航到不同的Silverlight內容?

答:這時候,請考慮一下,Silverlight是一種基于Web的技術,所以你真正問的問題是“在一個Silverlight應用程序中,我怎樣建立獨立的頁面?”很幸運,這意味著你可以參考:Silverlight的使用:Navigation框架和Silverlight頁面(http://msdn.microsoft.com/en-us/library/cc838245%28VS.95%29.aspx)。

我找到的最容易的解決方案是使用這些工具建立一個母版頁(Main.xaml或類似的其他文件),在它的中間,要放置一個Silverlight的Frame元素,然后在這個frame里,你要替換你的可交換的頁面。在Silverlight中Frame和Navigation如何工作(http://www.flickr.com/photos/50581866@N06/4863500755/

2,在一個Silverlight應用程序中,我怎樣建立一個超鏈接,來鏈接到一個Web頁面?

答:也是使用Silverlight的Navigation框架,在我的答案里,我主要回答這個個問題:“我怎樣在Silverlight中建立超鏈接,來鏈接到外部的內容(http://msdn.microsoft.com/en-us/library/cc838245%28VS.95%29.aspx#external_navigation),并在一個Web瀏覽器中打開它。”這是MSDN中的代碼樣例,它說明了你要怎么做:
 

3,在一個Silverlight應用程序中,我怎樣打開一個模式對話框窗口?

答:首先,你要知道Silverlight并不是Windows Forms或WPF,它們都為那些過去使用Win32 API的程序員實現了模式對話框的行為。Silverlight是一個跨平臺的技術,Silverlight應用程序要在多個環境下運行,所以你過去使用的一些Win32 API下的行為,它的.NET后裔(Silverlight)將無法使用。所以你過去在WPF下使用的模式對話框工具,在Silverlight下無法使用。話雖這樣說,在Silverlight中,要實現一個和模式對話框類似的用戶界面元素是很容易的。這是兩個參考資源,說明了如何實現這樣的功能:

Silverlight中的模式窗口(http://www.codeproject.com/KB/silverlight/slmodal.aspx
Silverlight中的可拖動窗口或DataGrid(http://forums.silverlight.net/forums/p/12467/41324.aspx

4,在一個TextBlock元素中,我怎樣把一小段內嵌文本設置成不同的字體樣式?

答:從本質上來說,你問的是HTML中的標簽在XAML / WPF中的等價物,以便于你可以在一個TextBlock元素里選擇性的應用各種樣式。幸運的是,這個等價物的確存在——它被稱為Run元素,你可以在TextBlock元素的文本內容里的任何地方使用它。這是一些在Silverlight中使用Run元素的例子(http://stackoverflow.com/questions/2435880/is-it-possible-to-seletively-color-a-wrapping-textblock-in-silverlight-wpf),這是其中一個例子:

 
        
             Republican
        

        
             Democrat
        

 

5,對于Silverlight來說,實現session-specific存儲的***方法是什么?

答:因為我們使用HTTP——一個無狀態的協議,所以這個問題并不像看上去那么棘手——如果你和我一樣是一個ASP.NET的開發人員,那么你應該比那些編寫桌面應用程序的程序員更了解session的概念和不同的狀態

這是個好消息:Silverlight能像桌面應用程序那樣處理狀態!在一些“輕量級”的場景下,你可以在你的application類的幾個公共屬性上存儲你的session。在一些“中量級”的場景下,你可以創建一個靜態的session類。在一些“重量級”的場景下,你可以使用獨立存儲的方式。如果你想了解更多的信息,可以查看Silverlight的官方論壇中的這個帖子(http://forums.silverlight.net/forums/p/65328/161221.aspx)。

6,在Silverlight應用程序中,有什么令人信服的理由一定要使用RIA-service來代替普通的WCF service嗎?

答:如果你過去讀過《Microsoft .NET: Architecting Applications for the Enterprise》(即使你不是一個企業級應用程序的開發人員(我也不是),你也應該讀一下關于設計工具和各種模式的內容),那么你應該知道每個設計問題(比如這個問題)的答案總是“要根據具體情況而定”的。Shawn Wildermuth的這篇文章比我編排的要好得多:主導你選擇一個數據服務的實現(而不是另一個)的一些因素(http://wildermuth.com/2009/09/29/Choosing_a_Data_Access_Layer_for_Silverlight_3),但是為了回答這個問題,我會把它們總結一下:

如果你的目標是增強一個Silverlight應用程序,讓它運行的更快,那么你應該使用RIA services,因為和其他替代的解決方案相比,你不需要寫很多的代碼,也不需要擔心WCF跨域的策略文件,變更跟蹤,等等。

7,反之,在Silverlight應用程序中,你為什么選擇WCF service而不是RIA-service呢?

答:我決定選擇普通的WCF service而不是RIA-service,因為,關于這個問題我已經讀過這篇文章了(http://stackoverflow.com/questions/879725/what-is-net-ria-services),在你需要支持Silverlight以外的客戶端(對我而言,就是iOS和Android客戶端)的情況下,WCF是一個更好的選擇。另外,如果你已經有一個現成的WCF service,你應該使用這個服務,而不是用RIA service來重寫所有的東西。

8,RIA-services能輕松地在非Silverlight應用程序中重用嗎?

答:答案很明顯是“不能”,但是我一直是一個Silverlight的新手,所以可能我是錯的。如果你需要支持其他的客戶端,尤其是非.NET framework上的一些客戶端,我建議你使用WCF服務。

9,我怎樣在運行時動態地把XAML元素添加到我的應用程序中?

答:有數百種不同的方法可以在運行時把新的XAML元素添加到你的Silverlight應用程序中。我個人最喜歡的是這個例子,它說明了你怎樣使用LINQ來在Silverlight應用程序中建立一個附加的data-driven元素(http://www.silverlight.net/learn/videos/all/use-linq-to-dynamically-create-xaml-elements/)。關于如何用編程的方式添加新的XAML元素,如果你正在找一個的簡單的指南,我可以提供給你一個:“Silverlight控件的動態處理”。(http://dotnetslackers.com/articles/silverlight/Dynamic-Manipulation-of-Silverlight-controls.aspx),它總結的很好。

10,在Silverlight應用程序中,實現表單驗證的***方法是什么?

答:哪里有數據,哪里就一定需要驗證。Silverlight自帶了驗證框架,和ASP.NET自帶的驗證框架很相似。關于如何入門,這是我找到的一個***的例子:從入門到精通:Silverlight 3 表單驗證(http://www.silverlightshow.net/items/Creating-Rich-Data-Forms-in-Silverlight-3-Validation.aspx)。

別忘了實踐一下這些方法,我希望在社區中這些問題可以得到更好的解答,或者,如果能提出一些其他的更好的問題,那就更好了。

責任編輯:馬沛 來源: 51CTO.com
相關推薦

2011-06-17 15:44:25

Qt

2021-01-08 10:45:29

Python開發web

2011-06-17 14:54:31

Qt

2011-09-16 09:38:19

Emacs

2022-04-24 15:21:01

MarkdownHTML

2011-04-12 10:13:24

2011-07-11 17:45:13

java

2023-04-09 16:17:05

ChatGPT人工智能

2011-07-04 14:14:54

java

2009-09-28 09:45:00

CCNA學習經驗CCNA

2022-10-10 15:28:45

負載均衡

2015-07-20 13:56:59

SDN

2010-12-01 09:48:01

Linux部署

2020-03-02 14:20:46

PythonGitHub編程語言

2020-09-08 19:03:41

Java代碼初學者

2022-07-22 13:14:57

TypeScript指南

2009-08-30 15:04:56

2010-06-13 11:13:38

UML初學者指南

2021-05-10 08:50:32

網絡管理網絡網絡性能

2023-07-28 07:31:52

JavaScriptasyncawait
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美视频精品 | 欧洲亚洲一区二区三区 | 中文字幕国产日韩 | 99re在线视频 | 美日韩中文字幕 | 欧美一区永久视频免费观看 | a视频在线播放 | 人人九九精| 久久久久久久久久久成人 | 国产精品不卡视频 | 99国产精品久久久 | 成人欧美一区二区三区黑人孕妇 | 亚洲精品在线免费 | 精品久久久一区 | 青青草精品视频 | 欧美狠狠操 | 亚洲欧美日韩中文字幕一区二区三区 | 久久青| 欧美福利精品 | 人人色视频 | 久热国产精品视频 | 成人免费视频 | 91视频网址 | 欧美一级在线免费观看 | 国产日韩91| 国产视频二区 | av毛片在线播放 | 日韩中文字幕第一页 | 亚洲免费观看视频网站 | 久热m3u8| 久久久涩| 99久久国产| 噜噜噜噜狠狠狠7777视频 | 91国语清晰打电话对白 | 天天色图 | 欧美在线 | 久久久精品 | 亚洲精品久久久久中文字幕欢迎你 | 国产精品a级 | 亚洲精品一区中文字幕 | 91正在播放 |