初步接触silverlight,遇到了一些问题,经过坎坷的探索最终解决了。这次把思路以及代码贴出来,抛砖引玉了。欢迎大家拍砖!
遇到的问题:silverlight 中的datagrid控件不能直接绑定datatable,导致不能实现动态绑定。
通用方法:自定义类,对自定义类序列化,使用自定义类中的属性作为列名称,使用List<自定义类>传递数据,并作为最终数据源绑定于datagrid上。存在的问题是:必须知道所含数据列个数以及数据列类型,这样导致不能动态的加载数据表。
解决办法:我的思路大概分三个关键部分。
1、 利用Dictionary来动态建立集合列。(参考http://www.cnblogs.com/Ivan-Yan/archive/2009/05/27/1490667.html博主文章)
2、 使WCF与Silverlight项目共享Dictionary建立的类。(参考http://jv9.itpub.net/post/41058/494434博主文章)
3、 实现 IValueConverter接口,定义转换器,解析集合数据。(参考http://www.cnblogs.com/Ivan-Yan/archive/2009/05/27/1490667.html博主文章)
client类库中TRow类:注意对类进行序列化标记。
wcf程序
silverlight端
主界面程序
转换器代码:
项目结构图:
如果有对silverlight感兴趣的加我qq,我的qq:854743589。