Silverlight開發(fā)的15個最佳實(shí)踐
原創(chuàng)【51CTO譯文】Silverlight 4的發(fā)布,也讓很多人更加的關(guān)注這款微軟的產(chǎn)品。文章作者Kunal Chowdhury從2008年開始使用WPF/Silverlight進(jìn)行開發(fā),在這里給大家分享了15個關(guān)于WPF/Silverlight開發(fā)的***實(shí)踐,希望這些技巧在你編輯XAML代碼時能有所幫助。
◆在XAML文件中不要使用無用的xmlns命名空間,這樣會導(dǎo)致Silverlight頁面加載時間過長。
◆不要在單個XAML頁面中增加多個相同的命名空間,這樣會破壞XAML代碼的可維護(hù)性,運(yùn)行時多次加載相同名稱的命名空間可能會引起各種內(nèi)存問題。
◆為xmlns命名空間前綴使用合適的名字,例如,xmlns:commonControls就比xmlns:cctrl更有意義,這樣可以避免將來命名空間的多次聲明。
◆Xmlns命名空間的前綴中盡量避免使用local,***用localControls或localConverters代替,在相同的程序集中可能有兩個或多個命名空間(如Controls或Converters等),在這種情況下,使用合適的前綴名將有助于正確區(qū)別它們。
◆當(dāng)增加一個無元素的控件時,***使用自閉合標(biāo)簽“/>”關(guān)閉,不要使用硬關(guān)閉標(biāo)簽“</tag>”,這樣XAML代碼看起來會更清爽。
◆如果資源沒有被使用,***移除這些不必要的資源鍵,它們會消耗更多的內(nèi)存,你可能會因此遇到很多惱人的問題,如果你后面會使用到它們,你可以隨時來添加它們。
◆不要使用額外的面板(如Grid,StackPanel,Canvas等)。
◆如果你需要使用其它面板,首先應(yīng)該嘗試Grid,Grid擁有靈活的UI布局,對調(diào)整應(yīng)用程序大小很有用。
◆不要企圖給Silverlight頁面中的所有控件起一個名字,因?yàn)樵诩虞d時會創(chuàng)建一些不必要的對象,只需要為那些后面將會用到的控件起一個名字即可,如果你在使用MVVM模式,你可以移除幾乎所有控件的名字。
◆使用控件的Visibility屬性代替Opacity屬性隱藏內(nèi)容,Opacity屬性值設(shè)為0雖然可以起到隱藏作用,但內(nèi)存占用和UI空間占用是不會減少的,相反,Visibility屬性會釋放內(nèi)存和UI空間,因此可以將有限的空間放置其它控件。
◆在XAML代碼中使用正確的格式,這樣會使代碼更好看,也更易于維護(hù)。
◆盡可能為XAML增加注釋,當(dāng)過了很久你再查看這些代碼時,你才能想起當(dāng)初這樣寫的動機(jī),此外,如果是多人協(xié)作,合理的注釋會減少其他人員的代碼閱讀和理解時間,促進(jìn)協(xié)作生產(chǎn)力的提高。
◆使用StaticResource代替DynamicResource,首先它會提升性能,其次在開發(fā)時可以跑出異常信息,有利于調(diào)試。
◆移除不需要的樣式。
◆如果你想跨應(yīng)用程序共享你的樣式,***在單獨(dú)的文件中添加你的樣式,如果只針對某個特殊的頁面,***在頁面資源文件中添加它們。
英文出處:http://www.kunal-chowdhury.com/2010/08/some-best-practices-for-silverlight.html
作者:Kunal Chowdhury
原文名:Some Best Practices for Silverlight Application Development (XAML)
【編輯推薦】
- Silverlight 4 初學(xué)者的10大經(jīng)典問答
- Silverlight 4中XAML解析的變化
- Silverlight走進(jìn)了死胡同?銀光之路注定不平坦
- Silverlight自定義控件管理二重奏