1

目前我有一个用户控件,它以相同的布局显示数据集合。因此,可以使用 ObjectA 的集合和 ObjectB 的另一个集合来实例化一个控件。然后我使用 TemplateSelectors 来选择正确的 DataTemplates。

后来我们认为我们应该将 List 设置为 GridView 以在列表本身中显示更多信息。但是,每种类型的对象具有不同的属性,并且列可能具有不同的名称和不同的数量。然后我意识到列等没有在 ItemTemplate 中设置但在 GridView 本身和 ListView 中当然没有自己的模板选择器。

我不知道该怎么做,但我想到了几种方法。

1)有某种我不知道的 TemplateSelector 属性。

2)我可以在 ItemTemplateSelector 上以某种方式设置它,只是不知道如何。

3)我可以动态地做 GridView(可能很困难并且不想避免)。

有什么好的方法可以做到这一点,教程或类似的方法我可以使用吗?

编辑:

由于我对 ListView 及其视图属性有了更多了解,我很确定我可以在 staticResource 中定义 gridview。我仍然喜欢 ViewSelector 或类似的东西。我想这当然不是故意的,因为该项目可能是动态的,而 Collection 不是。

但是我正在考虑可能存在更多类型的视图然后 gridview ( iconview 或其他东西)并且用户可以在它们之间切换它必须以某种方式实现的情况。

我看到的解决方案是使用触发器并将其基于集合中的第一项,但我不太喜欢。

4

1 回答 1

0

你看过 Grid 的 AutoGeneratingColumns 属性吗?

http://msdn.microsoft.com/en-us/library/system.windows.controls.datagrid.autogeneratingcolumn(v=vs.95).aspx

于 2011-07-14T15:17:59.260 回答