C# 如何将DataGrid与一些动态列、一些静态列绑定?

C# 如何将DataGrid与一些动态列、一些静态列绑定?,c#,wpf,C#,Wpf,我遇到了一个WPF数据网格的问题,我真的不知道如何处理这个问题。问题是,我目前有一个绑定到StaticResource的DataGrid。此资源是绑定到我的视图模型中的ObservableCollection属性的CollectionViewSource。(CollectionViewSource的原因是在XAML代码中定义网格的排序顺序。)DataGrid中的列是“静态”的,即我有AutoGenerateColumns=“False”并在XAML中手动定义列。某些列使用转换器进行计算。目前一切

我遇到了一个WPF数据网格的问题,我真的不知道如何处理这个问题。问题是,我目前有一个绑定到StaticResource的DataGrid。此资源是绑定到我的视图模型中的ObservableCollection属性的CollectionViewSource。(CollectionViewSource的原因是在XAML代码中定义网格的排序顺序。)DataGrid中的列是“静态”的,即我有
AutoGenerateColumns=“False”
并在XAML中手动定义列。某些列使用转换器进行计算。目前一切正常

但现在我有一个要求,在现有的“静态”的中间,网格中的列应该添加一个未定义的“动态”列数,而列的数量实际上取决于绑定到网格的数据。p> 比如说,我在表格中有一行代表一家公司的销售人员。对于每个销售人员,网格中都有一些显示的“静态”列,例如年龄、工资、鞋号等。也有不同类型的销售人员,比如说类型A和B。如果我在GUI的下拉列表中选择类型A,则网格还应显示每个人负责的销售区域的列。A类销售人员可以(但不必)负责区域1、2和3。B类销售人员可能负责6、7、8和9区。因此,对于选择的每种类型,网格应显示每个区域的列,并填充单元格(如果该人员实际负责该区域)


我希望这个简单的例子有意义。那么,我该如何将其引入到现有的DataGrid中呢?

动态列-它们是否映射到类型上的现有属性等?或者它们是计算出来的?如果是后者,听起来像是
ITypedList
,那么从某种意义上说,是的。单元格的数据以类型的形式提供,即在我的示例中,它将是每个人实际负责的领域。但这可能与应该显示的区域/列有所不同,并且这不是直接可用的。我需要看看ITypedList的功能,谢谢你的提示。