英文出处: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,首先它会提升性能,其次在开发时可以跑出异常信息,有利于调试。
◆移除不需要的样式。
◆如果你想跨应用程序共享你的样式,最好在单独的文件中添加你的样式,如果只针对某个特殊的页面,最好在页面资源文件中添加它们。