C# 当从代码隐藏设置时,MaterialDesignDataGridComboxColumn ItemSource共享CollectionViewSource的单个实例

C# 当从代码隐藏设置时,MaterialDesignDataGridComboxColumn ItemSource共享CollectionViewSource的单个实例,c#,wpf,datagrid,code-behind,material-design-in-xaml,C#,Wpf,Datagrid,Code Behind,Material Design In Xaml,我有一个MVVM应用程序,其中显示了一个DataGrid,其中的列绑定到视图模型中的ObservableCollection 其中一列是materialdesigndatagridcomboxcolumn,当我将ItemSource直接设置为一个列表时,所有工作都按预期进行。但是,我要绑定到的列表也要进行筛选,因此我设置了一个CollectionViewSource,它使用此列表作为Source,列的ItemSource设置为视图 类模型 { 类聚合摘要 { 公共字符串Id{get;} 公共

我有一个MVVM应用程序,其中显示了一个
DataGrid
,其中的列绑定到视图模型中的
ObservableCollection


其中一列是
materialdesigndatagridcomboxcolumn
,当我将
ItemSource
直接设置为一个列表时,所有工作都按预期进行。但是,我要绑定到的列表也要进行筛选,因此我设置了一个
CollectionViewSource
,它使用此列表作为
Source
,列的
ItemSource
设置为
视图

类模型
{
类聚合摘要
{
公共字符串Id{get;}
公共字符串名称{get;}
公共字符串描述{get;}
公共聚合摘要(字符串id、字符串名称、字符串描述)
{
这个.Id=Id;
this.Name=Name;
这个。描述=描述;
}
}
公共ObservableCollection标记列表{get;}
公共ObservableCollection标记列{get;}

描述同一问题的public ObservableCollection。

由于ComboBoxColumn与Datagrid迭代相关,因此您的问题相当棘手。其中一种方法可能是应用执行操作的触发器(对列表排序)因为ComboBoxColumn确实有一个修改。我并不假装知道要使用的最佳事件或它是否是最佳方式。但至少我给了你这个线索。顺便说一句,绑定到
ObservableCollection
属性会破坏MVVM。一个
DataGridColumn
属于视图。@mm8我明白你的意思,不幸的是Columnns除此之外,我希望显示的状态列取决于模型中的数据,因此这些列位于视图和模型之间。。。