C# 是否可以在运行时使用mvvm更改gridviewcolumns?

C# 是否可以在运行时使用mvvm更改gridviewcolumns?,c#,.net,wpf,mvvm,C#,.net,Wpf,Mvvm,我正在绑定到MainViewModel中的ienumerable(items)以显示数据。正如我之前所描述的,我所要做的就是显示不同的表。我的第一种方法是使用普通的datagrid并将“AutoGenerateColumns”设置为true,以便显示正确的列。事实证明,性能非常差,所以我切换到ListView和GridView,但由于没有“AutoGenerateColumns”,我需要以某种方式创建和更改列 那么,您将如何做到这一点呢?请看一下这个问题,了解一些接近——但不是——自动生成的东西

我正在绑定到MainViewModel中的ienumerable(items)以显示数据。正如我之前所描述的,我所要做的就是显示不同的表。我的第一种方法是使用普通的datagrid并将“AutoGenerateColumns”设置为true,以便显示正确的列。事实证明,性能非常差,所以我切换到ListView和GridView,但由于没有“AutoGenerateColumns”,我需要以某种方式创建和更改列


那么,您将如何做到这一点呢?

请看一下这个问题,了解一些接近——但不是——自动生成的东西:


一般来说,自动生成意味着对
项目资源进行反射,这可能会变得混乱,因为它需要正确地覆盖大量的可能性。

所以我必须在代码中编写代码才能获得这种功能?实际上我知道这些列,所以我不需要自动生成,我只需要根据特定情况切换这些列conditions@xDev23:据我所知,是的。