TreeView 项目 - 分层数据模板
对于场景 - 组织有不同的部门,每个部门有不同的员工,分层数据模板工作得很好。
像试卷(父集群)这样具有子集群(问题项组)和问题项的场景怎么样?如下:
Biology(父簇)
- Group 1(子簇)
- 问题 1(问题项)
- 问题 2(问题项目)
- 第 2 组(子集群)
- 子组 1(子集群)
- 问题 1(问题项)
- 问题 2(问题项目)
这里我有两个实体 - 集群和问题项。簇可以包含簇列表以及答案项列表。
基本上,问题的出现是因为集群的相同分层数据模板应该绑定到两个项目源,一个用于子集群,一个用于问题项目。 在这种情况下,有没有办法使用分层数据模板,以便我可以为此使用树视图。
我正在使用 SIlverlight 4.0。
For the scenario -
Organisation having different department, each department having different employees, the hierarchical data template works perfectly.
How about a scenario like Question Paper (Parent cluster) having both child clusters (Question item group) as well as Question Items. Like as follows:
Bilogy (Parent Cluster)
- Group 1 (Child cluster)
- Question 1(Question Item)
- Question 2(Question Item)
- Group 2 (Child Cluster)
- Sub Group 1(Child Cluster)
- Question 1(Question Item)
- Question 2(Question Item)
Here I have two entities - Cluster and Question Item. Cluster can contain list of clusters as well as list of answer items.
Basically issue comes as the same hierarchical data template for cluster should bind to two item sources, one for child clusters and one for question items.
Is there a way to use hierarchical data template in this case so that I can use tree view for this.
I am using SIlverlight 4.0.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的,您应该能够使用
HeirarchicalDataTemplates
来实现这一目标。您可以为 ParentCluster、ChildCluster 创建一个
HeirarchicalDataTemplates
,然后为问题使用普通的DataTemplate
。如果您有一个所有树 ViewModel 都继承自的基类“TreeItemBase”,那么您将能够执行您想要的操作。
Yes, you should be able to achieve that with
HeirarchicalDataTemplates
.You can either create a
HeirarchicalDataTemplates
for ParentCluster, ChildCluster and then use a normalDataTemplate
for the Question.If you then have a base class 'TreeItemBase' that all your tree ViewModels inherit from, then you'll be able to do what you want.
为此找到了解决方案。
基本上 Cluster 和 QuestionItem 都是 WorkItem 的类型。我将它们抽象为 WorkItem,并在集群中使用工作项的集合,该集合返回 QuestionItems 和子集群的组合列表。在 TemplateSelector 中重写 SelectTemplate 以提供基于工作项类型的分层数据模板/数据模板。
Found a solution for this.
Basically both Cluster and QuestionItem are type of WorkItem. I abstracted them to WorkItem and used a colletion of workitem in cluster which returns combined list of QuestionItems andsub clusters. In the TemplateSelector overridden SelectTemplate to provide the Hierarchical data template/ data template based on the Work Item type.