目前我有一个用户控件,它以相同的布局显示数据集合。因此,可以使用 ObjectA 的集合和 ObjectB 的另一个集合来实例化一个控件。然后我使用 TemplateSelectors 来选择正确的 DataTemplates。
后来我们认为我们应该将 List 设置为 GridView 以在列表本身中显示更多信息。但是,每种类型的对象具有不同的属性,并且列可能具有不同的名称和不同的数量。然后我意识到列等没有在 ItemTemplate 中设置但在 GridView 本身和 ListView 中当然没有自己的模板选择器。
我不知道该怎么做,但我想到了几种方法。
1)有某种我不知道的 TemplateSelector 属性。
2)我可以在 ItemTemplateSelector 上以某种方式设置它,只是不知道如何。
3)我可以动态地做 GridView(可能很困难并且不想避免)。
有什么好的方法可以做到这一点,教程或类似的方法我可以使用吗?
编辑:
由于我对 ListView 及其视图属性有了更多了解,我很确定我可以在 staticResource 中定义 gridview。我仍然喜欢 ViewSelector 或类似的东西。我想这当然不是故意的,因为该项目可能是动态的,而 Collection 不是。
但是我正在考虑可能存在更多类型的视图然后 gridview ( iconview 或其他东西)并且用户可以在它们之间切换它必须以某种方式实现的情况。
我看到的解决方案是使用触发器并将其基于集合中的第一项,但我不太喜欢。