英文出处: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,首先它会提升性能,其次在开发时可以跑出异常信息,有利于调试。

◆移除不需要的样式。

◆如果你想跨应用程序共享你的样式,最好在单独的文件中添加你的样式,如果只针对某个特殊的页面,最好在页面资源文件中添加它们。

WPF/Silverlight开发的15个最佳实践(转发)的更多相关文章

  1. Android 快速开发系列 ORMLite 框架最佳实践

    比较靠谱的Helper的写法: 1.DatabaseHelper package com.zhy.zhy_ormlite.db; import java.sql.SQLException; impor ...

  2. Android 快速开发系列 ORMLite 框架最佳实践之实现历史记录搜索

    首先在build.gald中添加compile 'com.j256.ormlite:ormlite-android:4.48'的引用 compile 'com.j256.ormlite:ormlite ...

  3. [转]Android开发最佳实践

    ——欢迎转载,请注明出处 http://blog.csdn.net/asce1885 ,未经本人同意请勿用于商业用途,谢谢—— 原文链接:https://github.com/futurice/and ...

  4. 《.NET最佳实践》

    <.NET最佳实践> 基本信息 原书名:Pro .NET Best Practices 原出版社: Apress 作者: (美)Stephen Ritchie 译者: 黄灯桥 黄浩宇 李永 ...

  5. Silverlight开发工具汇总

    随着Silverlight技术的逐步完善,Silverlight应用大批的涌现,近期的2010年冬季奥运会,Silverlight作为首选视频播放技术,为全球提供在线赛事实况. Silverlight ...

  6. 【转】Talend作业设计模式和最佳实践-Part II

    转载地址:https://mp.weixin.qq.com/s?__biz=MzA3OTg1Mzk4Nw==&mid=2453261363&idx=1&sn=5674f1df8 ...

  7. WPF/Silverlight深度解决方案:(六)HLSL自定义渲染特效之完美攻略(上)

    原文:WPF/Silverlight深度解决方案:(六)HLSL自定义渲染特效之完美攻略(上) Shader Effect种位图特效及2种渲染特效,而Silverlight中仅有这2种渲染特效: Bl ...

  8. Netty基础招式——ChannelHandler的最佳实践

    本文是Netty系列第7篇 上一篇文章我们深入学习了Netty逻辑架构中的核心组件EventLoop和EventLoopGroup,掌握了Netty的线程模型,并且介绍了Netty4线程模型中的无锁串 ...

  9. iOS应用开发最佳实践

    <iOS应用开发最佳实践> 基本信息 作者: 王浩    出版社:电子工业出版社 ISBN:9787121207679 上架时间:2013-7-22 出版日期:2013 年8月 开本:16 ...

随机推荐

  1. rsa 公钥 私钥

    如果用于加密解密,那就是用公钥加密私钥解密(仅你可读但别人不可读,任何人都可写)如果用于证书验证,那就是用私钥加密公钥解密(仅你可写但别人不可写,任何人都可读) 最后,RSA的公钥.私钥是互相对应的. ...

  2. IE8兼容background-size

    filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/web/images/bg.png',sizingMethod='sca ...

  3. hibernate对数据库查询的坑

    hibernate对数据库的查询其实有很多种方法,下面我来介绍我知道的两种方法,以及它们可能会遇到的问题,这里前两种都是查询所有结果 最后一种是 使用hibernate查询一条记录. 第一种方法 pu ...

  4. Sum of Consecutive Prime Numbers

    Sum of Consecutive Prime Numbers http://poj.org/problem?id=2739 Time Limit: 1000MS   Memory Limit: 6 ...

  5. sqserver2008触发器

    @参考博文 先上代码 先建个表用于测试 CREATE TRIGGER INSERT_forbidden on s after INSERT AS BEGIN RAISERROR(,) ROLLBACK ...

  6. Swift 项目中可能用到的第三方框架

    这里记录下swift开发中可能用的框架 , 最近浏览了不少,积累在这里,以后用的时候方便查阅.顺便推荐给大家! 这里的框架都是纯swift的 , 感谢开源 ,感谢大神们 . 下拉刷新 BreakOut ...

  7. mybatis框架的架构(图解)

    1. mybatis配置 SqlMapConfig.xml,此文件作为mybatis的全局配置文件,配置了mybatis的运行环境等信息. mapper.xml文件即sql映射文件,文件中配置了操作数 ...

  8. SSH框架整合jar包时的注意事项

    SSH框架整合jar包时的注意事项: 在将三个框架所需的jar整合到一起后,要看一下有没有相同类型但是版本不同的jar包,如果有的话,需要把低版本的jar包删除掉,否则会报错.我这里整合的时候java ...

  9. 3.说一下你了解的弹性FLEX布局.

    页面布局一直都是web应用样式设计的重点 我们传统的布局方式都是基于盒模型的 利用display.position.float来布局有一定局限性 比如说实现自适应垂直居中 随着响应式布局的流行,CSS ...

  10. Boolean.getBoolean用法

    相信很多人被Boolean.getBoolean(String name)欺骗过,想当然的认为它是将"true"或者"false"转换为Boolean类型的AP ...