我将我的observablecollection绑定到具有SortDescriptions的CollectionViewSource。在初始加载时,一切都很好,并且可以进行分类。
我有一个重置按钮,我试图通过重新获取observablecollection并绑定到ItemSource来刷新网格中的更改。一旦我重新绑定,排序就不起作用了。
以下是我的collectionviewsource,
<CollectionViewSource
x:Key="BuildLineSource"
IsLiveSortingRequested="True"
Source="{Binding BuildLineCollection,
UpdateSourceTrigger=PropertyChanged}">
<CollectionViewSource.GroupDescriptions>
<PropertyGroupDescription PropertyName="BuildLineCategory.Category" />
</CollectionViewSource.GroupDescriptions>
<CollectionViewSource.LiveSortingProperties>
<system:String>ExecutePriority</system:String>
</CollectionViewSource.LiveSortingProperties>
<CollectionViewSource.SortDescriptions>
<componentModel:SortDescription PropertyName="ExecutePriority" />
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
下面是我在构造函数上调用的代码,以及重置单击,
private void GetBuildLines()
{
BuildLineCollection?.Clear();
BuildLineCollection = _buildLineData.GetBuildLines();
((INotifyPropertyChanged)BuildLineCollection).PropertyChanged +=
(x, y) => BuildLineUpdated();
}