从icollectionviewcurrentitem 's属性创建CollectionViewSource

本文关键字:属性 创建 CollectionViewSource icollectionviewcurrentitem | 更新日期: 2023-09-27 18:01:24

我试图从一个icollectionviewcurrentitem的属性(相关表1..许多)创建一个XAML中的CollectionViewSource,但我得到了这个错误:"System.Windows.Data。BindingListCollectionView'视图不支持排序

在我的VM中,我有ICollectionView,这是UserControls的DataContext。

public ICollectionView Clients

客户端有贷款属性,这是我想绑定到一个列表框。如果我绑定到CurrentItem的属性,它可以工作:

ItemsSource="{Binding Clients/Loans}"

但是我的问题是排序。我想按属性对贷款进行排序,所以我试图从该列表中创建一个CollectionViewSource,但随后我得到了上面的错误。

<Grid.Resources>
   <CollectionViewSource Source="{Binding Clients/Loans}" x:Key="loan_cv">
       <CollectionViewSource.SortDescriptions>
          <scm:SortDescription PropertyName="CreatedDate" Direction="Descending" />
       </CollectionViewSource.SortDescriptions>
   </CollectionViewSource>
</Grid.Resources>

从icollectionviewcurrentitem 's属性创建CollectionViewSource

在XAML中是否可以不创建新的VM属性?

如果其他人有同样的问题,我只是在VM中创建了一个IEnumerable<>对象,可以排序。每当collectionViewSource上的CurrentItem属性发生变化时,我都会重置IEnumerable<>对象。它工作得很好,但是在处理大型对象时,它可能会很慢。