我现在有一个使用templateselector的树视图。基本上,根上的每个树节点都是某种类型数据的“类别”,其下的每个子节点都以特定方式显示(通过模板选择器)。
这使我可以轻松地使用绑定在单个控件中显示不同的数据。我的问题是它在视觉上效果不佳。我想在每个根节点下有一个网格样式(ListView.GridView)。
我正在查看ListView分组,但是是否可以为每个组定义不同的列?既然我怀疑这是可能的,有什么选择呢?我想允许用户像树视图一样展开和折叠组,但是在每个节点下看到带有滚动条的GridView等。
答案 0 :(得分:0)
我认为ListView不支持组中的不同标头。它只是对行进行分组。看起来你将不得不在每个树节点下创建一个新的ListView。您可以尝试数据网格。在WinForms中,您可以绑定到多个表,并且网格将按表进行分组,该表可以展开和折叠,这实际上会显示不同的列。如果您正在使用MVVM(我假设某些集合或层次结构模型),我不知道您是如何使用数据网格实现的。
答案 1 :(得分:-2)
如果采用MVVM architecture。
,您可以实现您想要的相对简单树上的每个节点都是某种类型(ViewModel)。每种数据类型都将绑定到特定的视图。每个View都可以是包含所需列的ListView。
我建议您阅读MVVM并采用它以实现您的需求。我发现采用MVVM可以使应用程序具有更清晰的架构和代码。