Silverlight编程小结

Silverlight编程小结,第1张

概述使用Silverlight做了几个项目了,有若干心得:   关于思维定式:   SL程序运行在浏览器或桌面(offline模式),这是一个客户端程序,一直做ASP.NET的人,可能有点儿不习惯。写SL客户端程序,其实就是在写Win Form程序,只不过针对的Framework不同。   关于使用MVVM模式: 1. 数据绑定 - 使用MVVM最基本的那一定是该模式带来的数据绑定的方便, 例如将Vi

使用Silverlight做了几个项目了,有若干心得:

 

关于思维定式:

 

SL程序运行在浏览器或桌面(offline模式),这是一个客户端程序,一直做ASP.NET的人,可能有点儿不习惯。写SL客户端程序,其实就是在写Win Form程序,只不过针对的Framework不同。

 

关于使用MVVM模式:

1. 数据绑定 - 使用MVVM最基本的那一定是该模式带来的数据绑定的方便,例如将VIEw中的DataGrID数据源绑定到其对应的viewmodel中的某个集合类属性上。

 

2. Command绑定 - 用户通过与VIEw的交互发出的 *** 作请求,例如按钮的Click事件,可以通过Prism的Command将对应的事件处理绑定到viewmodel的方法上。这样极大减少了VIEw的CodeBehind代码,这种VIEw与业务逻辑的分离,好处之一就是方便了单元测试 - 测试可以针对viewmodel来写,其实这也是viewmodel与VIEw低耦合的好处 - viewmodel可以绑定到不同的"VIEw"上。

 

3. 是不是一定要杜绝VIEw的CodeBehind中代码?不是。VIEw中与VIEw有关的逻辑代码,还是应该放在CodeBehind中,因为这是最直接的。

 

4. 事件交互:

    4.1 前面提到的Command绑定,就是一种VIEw到viewmodel的单向通讯 (VIEw中触发事件,viewmodel中处理事件)

    4.2 自定义事件 - 例如viewmodel到VIEw的单向通讯,VIEw与VIEw之间的相互通讯

    4.3 Prism 事件聚合器 - 上面的自定义事件,有一个局限就是事件的通讯双方有一个耦合关系,至少有一方要引用到另一方。Prism中的事件聚合器,提供了一种模式,可以讲事件的双方分离开,降低耦合度。这在没有引用关系的VIEw与VIEw之间,VIEw与viewmodel之间常用到。但是要注意事件处理方有多个实例的情况下,要使用事件过滤,还要记得适当的地方要退订所订阅的事件。

 

关于界面:

 1. 自定义:很多情况下,需要修改控件的外观,涉及到对控件模板及样式的修改。控件的模板文件大多都遵循Parts and State模式 ,了解了这个,各种控件的模板修改就思路清楚了。

 2. 使用了MVVM的数据绑定,有些时候可能在数据的显示上不能随心所欲,那么IValueConverter 就是一个很好的帮手。

 3. 很多控件中都有Attached Property 你也可以写自己的Attached Property 或者Attached Behavior

 4. 界面中难免要用到各种资源文件,要熟悉SL对资源文件的引用方式 以及 如何最好的管理资源文件

 5. 重要的线程原则 ,这一点跟Win Form是类似的

 

Update:

5. 数据分页:没有RIA Services时使用Data Pager实现服务端分页

总结

以上是内存溢出为你收集整理的Silverlight编程小结全部内容,希望文章能够帮你解决Silverlight编程小结所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1044222.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-24
下一篇2022-05-24

发表评论

登录后才能评论

评论列表(0条)

    保存