Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WPF:用于不同GridView的模板选择器_Wpf_Listview_Gridview_Datatemplateselector - Fatal编程技术网

WPF:用于不同GridView的模板选择器

WPF:用于不同GridView的模板选择器,wpf,listview,gridview,datatemplateselector,Wpf,Listview,Gridview,Datatemplateselector,目前我有一个UserControl,它在同一布局中显示数据集合。因此,一个控件可以用ObjectA集合和另一个ObjectB集合实例化。然后我使用TemplateSelector选择正确的数据模板 后来,我们认为应该将列表设置为GridView,以便在列表中显示更多信息。但是,每种类型的对象都有不同的属性,列的名称可能不同,数量也可能不同。然后我意识到,列和类似的内容没有在ItemTemplate中设置,而是在GridView本身和ListView中设置,当然,它们本身没有templateSel

目前我有一个UserControl,它在同一布局中显示数据集合。因此,一个控件可以用ObjectA集合和另一个ObjectB集合实例化。然后我使用TemplateSelector选择正确的数据模板

后来,我们认为应该将列表设置为GridView,以便在列表中显示更多信息。但是,每种类型的对象都有不同的属性,列的名称可能不同,数量也可能不同。然后我意识到,列和类似的内容没有在ItemTemplate中设置,而是在GridView本身和ListView中设置,当然,它们本身没有templateSelector

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

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

2) 我可以在ItemTemplateSelector上进行设置,但我不知道如何设置

3) 我可以动态地执行GridView(可能很难避免)

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

编辑:

我已经了解了更多关于ListView及其view属性的知识,我非常确定我可以在staticResource中定义gridview。不过我还是想要一个ViewSelector或类似的东西。我想这当然不是故意的,因为该项目可以是动态的,而集合不是

但我在考虑这样的情况,即可能存在比gridview(iconview或其他)更多类型的视图,并且用户可以在它们之间切换,这必须以某种方式实现


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

您看过网格的AutoGeneratingColumns属性了吗


你有没有找到有关这方面的信息?我有同样的要求。@Rob如果我没记错的话,我最终做了完全不同的事情。这里有一个新的答案,您可能不想查看。请让我知道这是否有效,以便我可以将其标记为正确答案。