Silverlight DataForm模板中绑定集合

MicrosoftCenterOfHN 2012-08-01 10:41:25
遇到一个问题,使用DataForm时,在模板中的Field中绑定集合很困难,比如为一个ComboBox指定数据源。
<toolkit:DataForm.EditTemplate>
<DataTemplate>
<StackPanel>
<toolkit:DataField Label="Team">
<ComboBox x:Name="ComboBoxTeams" ItemsSource="..." HorizontalAlignment="Left"
Width="200"></ComboBox>
</toolkit:DataField>
</StackPanel>
</DataTemplate>
</toolkit:DataForm.EditTemplate>

上网查了一种方法,请大家先看过下面的方法再评论,不要操之过急:
http://www.cnblogs.com/Joetao/articles/1889592.html (上)
http://www.cnblogs.com/Joetao/articles/1889657.html (下)

但感觉不太好,特别是在使用MVVM模式的时候。

这应该是一个常见的问题,大家有什么好的解决方案吗?谢谢。
...全文
307 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
不好意思,好久没看.差点忘了结帖.
namhyuk 2012-08-02
  • 打赏
  • 举报
回复
在资源里面添加datasource很合理呀。
最糟糕的方式就是每条记录都附带独立的Items集合,虽然实现起来貌似也不容易:-)也就是显示记录A时,内存里同时加载Teams集合,显示B时,再加载另一组内容一模一样的Teams集合以供选择……
那你把Teams集合定义一次,在多个地方多次使用有森么不合理了?

  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
遇到一个问题,使用DataForm时,在模板中的Field中绑定集合很困难,比如为一个ComboBox指定数据源。

XML code
<toolkit:DataForm.EditTemplate>
<DataTemplate>
<StackPanel> ……
[/Quote]

谢谢,不过我想问的是DataForm中的ComboBox绑定集合,不是DataGrid.
大家知道DataForm有一个CurrentItem属性指定当前的一个实体。然后其中的DataFiled绑定实体中的属性。但现在的情况是:
DataFiled中有一个ComboBox,要绑定一个集合,但这个集合不是CurrentItem指定的实体中的属性。这时候除了在资源里面添加datasource,还有什么其他好的办法吗?

举个例子,CurrentItem中有一个字段是team,当用户编辑的时候,希望从一个ComboBox中选一个team, 所以ComboBox要绑定一个Teams集合。而这个集合和DataForm绑定的CurrentItem是没有什么直接关系的,只是CurrentItem中的team是Teams集合中的一项而已。

8,756

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧