[wp7求助]Grid动态绑定集合数据
Grid绑定动态集合数据
大家好,
因为需求的关系我必须实现一个DataGrid, 他要支持列冻结和列头的显示并且在单元格中可以进行数据编辑. 我在微软论坛里找过相关的帖子. 里面有提到http://www.silverlightshow.net/items/Building-a-DataGrid-Control-for-Silverlight-for-Windows-Phone-Part-1.aspx中的解决办法. 我也已经尝试过, 但是Silverlight3中修改出的DataGrid, 似乎在WP7中无法进行内部的滚动无论是垂直还是纵向, 该问题导致必须使用分页和列冻结, 不使用分页列头会随着DataGrid的上下翻移而被隐藏, 列冻结在设置以后由于DataGrid的横向翻滚不能触发, 所以还是没有效果. 至于使用第三方开源Grid, 公司怕产生问题所以不允许╮(╯▽╰)╭
在这些背景下我想自己写一个简单的Datagrid控件. 按照我所设定的版式显示集合中的每个元素. 目前我已经用Grid, ScrollViewer和StaticPanel静态拼出了我想要的界面. 但是在想动态绑定集合数据到Grid上的时候碰到的了问题.
比如类Customer有2个属性Name, Tel. 我希望Grid的每一行, 以TextBlock+TextBox的组合绑定显示List<Customer>的值, TextBlock.Text="{Bind Name}" TextBox.Text="{Bind Tel}".
同样的功能在Listbox中, 我可以在Listbox.ItemTemplate.DataTemplate中指定TextBlock+Text呈现的样式并且设置Bind为指定属性, . 然后赋值Listbox.ItemSource为List<Customer>. 但是因为冻结列控制的需要我不能使用Listbox.
我的问题是, 怎么样才能用Grid实现我上面说的Listbox的功能. 即怎么样才能让Grid根据数据源和我所设定的模板显示集合中的数据?
希望大家可以帮帮我, 谢谢了!
[解决办法]