天天看點

Some Best Practices for Silverlight Application Development (XAML)

英文出處:http://www.kunal-chowdhury.com/2010/08/some-best-practices-for-silverlight.html       

作者:Kunal Chowdhury

原文名:Some Best Practices for Silverlight Application Development (XAML)

◆在XAML檔案中不要使用無用的xmlns命名空間,這樣會導緻Silverlight頁面加載時間過長。

◆不要在單個XAML頁面中增加多個相同的命名空間,這樣會破壞XAML代碼的可維護性,運作時多次加載相同名稱的命名空間可能會引起各種記憶體問題。

◆為xmlns命名空間字首使用合适的名字,例如,xmlns:commonControls就比xmlns:cctrl更有意義,這樣可以避免将來命名空間的多次聲明。

◆Xmlns命名空間的字首中盡量避免使用local,最好用localControls或localConverters代替,在相同的程式集中可能有兩個或多個命名空間(如Controls或Converters等),在這種情況下,使用合适的字首名将有助于正确差別它們。

◆當增加一個無元素的控件時,最好使用自閉合标簽“/>”關閉,不要使用硬關閉标簽“</tag>”,這樣XAML代碼看起來會更清爽。

◆如果資源沒有被使用,最好移除這些不必要的資源鍵,它們會消耗更多的記憶體,你可能會是以遇到很多惱人的問題,如果你後面會使用到它們,你可以随時來添加它們。

◆不要使用額外的面闆(如Grid,StackPanel,Canvas等)。

◆如果你需要使用其它面闆,首先應該嘗試Grid,Grid擁有靈活的UI布局,對調整應用程式大小很有用。

◆不要企圖給Silverlight頁面中的所有控件起一個名字,因為在加載時會建立一些不必要的對象,隻需要為那些後面将會用到的控件起一個名字即可,如果你在使用MVVM模式,你可以移除幾乎所有控件的名字。

◆使用控件的Visibility屬性代替Opacity屬性隐藏内容,Opacity屬性值設為0雖然可以起到隐藏作用,但記憶體占用和UI空間占用是不會減少的,相反,Visibility屬性會釋放記憶體和UI空間,是以可以将有限的空間放置其它控件。

◆在XAML代碼中使用正确的格式,這樣會使代碼更好看,也更易于維護。

◆盡可能為XAML增加注釋,當過了很久你再檢視這些代碼時,你才能想起當初這樣寫的動機,此外,如果是多人協作,合理的注釋會減少其他人員的代碼閱讀和了解時間,促進協作生産力的提高。

◆使用StaticResource代替DynamicResource,首先它會提升性能,其次在開發時可以跑出異常資訊,有利于調試。

◆移除不需要的樣式。

◆如果你想跨應用程式共享你的樣式,最好在單獨的檔案中添加你的樣式,如果隻針對某個特殊的頁面,最好在頁面資源檔案中添加它們。

繼續閱讀