【发布时间】:2011-04-06 04:50:36
【问题描述】:
我正在 WPF 4.0 中创建一个自定义控件,它看起来类似于下图。它基本上由“泳道”组成。每个 ItemsControl 都有可以拖放的元素,并带有项目的可视化呈现,位于每个元素的同一行中,行标题除外。列数固定,行数可变。
我正在考虑两种不同的方法来解决这个问题:
使用 DataGrid 并对其进行大量修改,使其支持此行为。
创建具有动态行数的网格,并将每个项目实现为一组 5 个控件(每列一个)。
注意事项: 使用 MVVM,整个东西应该能够绑定到一个列表。
在这种情况下,最合理的方法是什么?
如果有不清楚的地方请评论!
【问题讨论】:
-
我不会使用涉及太多黑客攻击 IMO 的 DataGrid。当您说它们可以拖放时,您的意思是给定行中的现有项目可以在该行中重新排序?
-
完全正确,并且还在每个单元格中的一个项目控件中排序。
-
哦,好吧,我没有意识到每个单元格都是它自己的项目控件。现在我回头看这张图就更有意义了。立即制定答案
-
我很想帮忙,但是我不明白什么可以拖放。能举个例子吗?
-
@Philipp 一些带有一些文本块和一些按钮的用户控件,不过我知道如何实现这种拖放。
标签: c# wpf mvvm .net-4.0 custom-controls