原文:http://www.cnblogs.com/jv9/archive/2009/07/04/1516637.html

  1. 尽量使用代码控制;
  2. 尽可能早的计划好所有的用户控件;这样可以提前预期控件之间相互运作情况,便于整合项目;
  3. 尝试分割不同功能到不同的用户控件; 现在无论国内国外,开发队伍通常来说都是3个人以上,分割不同功能到不同的用户控件,可以减少相互之间的冲突和影响; 另外,在测试的时候发现问题,对于不同的小功能区域,方便Bug定位;另外也方便功能模块的再利用。 这个是现在Web项目开发的一个常用规则。
  4. 尽量少用Loaded事件;
  5. 初始化的问题; 在每个用户控件中,需要创建Initialize和Deinitialize公共方法。  在实际项目中,你可以把Event Handlers或者必须要运行一次的代码,添加到Initialize方法中; 另外,也可以不用添加新的构造函数,直接传递参数到Initialize方法,通过New MyUserControl()使用这些参数; 最后,你可以使用Deinitialize方法清空控件,如果你调用了需要自定义的控件,使用Deinitialize方法是非常必要的;
  6. 不要在XAML添加Event Handles; 因为XAML是属于前台设计人员,而Event Handling属于开发人员,所以,Event Handler非常容易使用代码进行添加;另外一个原因,如果你使用代码添加了一个Event Handler,当该事件的控件名称改变或者该控件被删除,编译器会提出错误说明; 但是如果把Event Handler放在XMAL,当该事件的控件名称改变或者该控件被删除,项目将返回一个常规异常,没有详细错误信息提示;
  7. 认真设计项目布局; 我项目起步时,浪费了许多时间,在项目布局上,如果,布局合理,一定能节省很多开发时间;这样就需要开发人员对Grid,StackPanel,Canvas,Border,Popup,ScrollViewer,DockPanel等布局控件有深刻的了解;通常,你会发现,Grid非常适合做Header,Footer,Sidebar等等; 而复杂的布局结构,建议使用Canvas,需要注意的是,如果Canvas的高和宽是固定的,这样就很容易造成布局混乱,这点一定要注意;如果需要调整子控件的布局,推荐使用StackPanel;设计Silverlight项目布局,通常我们习惯使用Expression Blend,但是,强烈建议你,在使用Blend后,需要在VS下对XAML代码进行一次核查,这样可以确认各个控件的参数正确,同时也可以删除Blend自动产生的多余代码;
  8. 尽量避免使用固定的高度值和宽度值;在不设置固定的高度和宽度时候,Silverlight会根据你的解析度自适应浏览器界面,同时,各个控件将会自动缩放,以及排列位置; 另外,尽量不要使用负值的Margin,防止样式变形;
  9. 不要将机密信息放在代码中; 众所周知,Silverlight是一个客户端技术;用户在使用的同时,将会下载XAP文件到本地,这样非常容易被反编译; 所以,一定不要把敏感的机密数据放在代码中;
  10. 不要使用Image作为按钮控件; 在Silverlight1.1中没有Button控件,所以我们使用Image作为按钮; 但是在Silverlight2或者3中,已经提供了Button控件,我们需要尽量使用Button控件; 这个原则也适合其他控件,尽量使用Silverlight提供的控件,方便状态管理和事件管理;
  11. 在项目性能上,尽量减少XAP的尺寸,提高加载项目速度,另外,减少各个用户控件的载入时间; 避免使用Windowless=True;
  12. 使用Web Service进行服务器数据存取; 因为Silverlight是运行在用户主机的,所以不能直接和服务器或者数据库进行通讯,当前有很多种方式可以存取服务器信息和数据库,但是推荐使用Web Service(WCF),个人认为这个方法是最简单,最快捷的;
  13. 小心使用Isolated Storage; 一定不要把机密信息放在Isolated Storage;

转载于:https://www.cnblogs.com/SissyNong/archive/2009/07/04/1517022.html

总结开发Silverlight 注意事项相关推荐

  1. 项目开发一些注意事项

    项目开发一些注意事项 1.一些简单的方法可以让你的代码看起来更明了,如函数或者方法,尽量的写的小一些,如果太冗长,尝试抽出一块写成一个函数: 2.如果业务逻辑比较复杂,判断选项较多,可以把判断抽出来, ...

  2. 总结开发Silverlight项目准则 [转]

    这篇是加拿大国庆放假的时候总结的,以前发到了cnblogs和CSDN,今天同步一下51CTO博客. 加拿大国庆节国庆节刚刚过去,昨天Team开会,对前期Silverlight项目进行了总结,根据自己的 ...

  3. Visual Studio 2005 开发 Silverlight 1.0

    如果大家已经在使用Visual Studio 2005做开发,现在又需要学习开发Silverlight应用程序.下面我们简单的介绍一下如何在VS2005中开发Silverlight. 首先需要下载Si ...

  4. C# 开发CAD注意事项(二)-CAD不显示注记

    C# 开发CAD注意事项(二) 方法一.使用托管兼容模式 方法二.使用旧托管引擎 问题说明: VS2017调试(Debug)CAD的时候不显示注记或者文字,但是单独打开CAD,调用动态库就可以,解决办 ...

  5. ajax 泛微oa表单js_泛微oa流程表单二次开发新人注意事项,

    泛微oa流程表单二次开发新人注意事项, 1.泛微的PC端和手机端使用的jQuery代码通用吗? 答:根据实际操作情况,泛微的PC端和手机端使用的jQuery代码并不是通用的,pc端的代码有些不能在手机 ...

  6. sae php加密_ThinkPHP的SAE开发相关注意事项详解

    本文详细讲述了ThinkPHP的SAE开发相关注意事项.分享给大家供大家参考,具体如下: ThinkPHP的SAE开发和标准版本的ThinkPHP基本一样,你无需了解SAE的接口用法,ThinkPHP ...

  7. 宠物APP开发四大注意事项,让你避免踩坑

    宠物行业作为一个传统行业,在新生代对宠物饲养的需求的推动下,再次焕发出新的生机.一种更智能化.更便捷的宠物生活方式,正推动着宠物行业走向下一个蓝海. 宠物行业将迎来高速发展机会,也进一步加快了传统宠物 ...

  8. APP开发外包注意事项

    APP开发外包注意事项 1. 确定找个人或者团队 这个问题的关键点在于项目的预算,以于项目质量和开发周期的要求. 个人,团队和公司的开发质量在大部分情况下都是后面高于前者, 如果项目预算充足的情况下, ...

  9. 总结开发Silverlight项目准则(转)

    尽量使用代码控制: 尽可能早的计划好所有的用户控件:这样可以提前预期控件之间相互运作情况,便于整合项目: 尝试分割不同功能到不同的用户控件: 现在无论国内国外,开发队伍通常来说都是3个人以上,分割不同 ...

最新文章

  1. Netty之粘包分包
  2. mysql 5.6.29.tar.gz_编译安装mysql5.6.29及安装报错的解决方法
  3. datastage配置oracle,IBM Datastage8.5配置问题
  4. 栈应用_将算式转成按运算符优先级分布(代码、分析、汇编)
  5. 工作170:删除做个判断操作 成功删除 取消取消
  6. 微软再次强调:爱开发 爱 Linux!
  7. 移动设备尺寸规范汇总(转)
  8. 时序数据库 VS 工业实时数据库
  9. 两独立样本率的非劣效性试验-样本量计算
  10. RS232串口接线图
  11. 概念学习和一般到特殊序
  12. forward(转发)与redirect(重定向)的区别
  13. arm学习方法(转)
  14. NX二次开发-UFUN创建圆柱UF_MODL_create_cyl1
  15. 什么叫无差别伤害_无差别伤害背后的差别
  16. MJPEG+PCM合成AVI视频格式文件
  17. 分区空间分配:window10怎样把C盘空间分一点给D盘?
  18. 手机照片局部放大镜_如何为不识字的老年人挑选一款合适的智能手机
  19. 微信小程序--实现番茄钟功能
  20. git入库基本操作流程

热门文章

  1. mysql cluster 数据文件_关于MYSQL CLUSTER数据文件存放节点错误问题 -问答-阿里云开发者社区-阿里云...
  2. linux c开发项目,linux c 服务器开发项目
  3. 智能一代云平台(九):EclipseLink返回Object转为实体的分析
  4. nginx与IIS服务器搭建集群实现负载均衡(三)
  5. 中国首家干线物流联合创新中心成立
  6. 南开大学开源新图像分割算法,刷新精度记录 | 资源
  7. AI手机会怎么样?那不得看高通骁龙的AI能怎样
  8. 最近有啥ML比赛能表现自己的优秀?CVPR2018图像压缩大赛
  9. 扩展:js控制台输出,除了 console.log还有哪些?
  10. ios中蓝牙自动连接出现硬件提示框的问题