在 UWP 应用程序中,我可以将 CollectionViewSource 的源设置为列表,它会立即将其分组。对于 WPF,它的工作方式似乎有所不同。我希望能够在后面的代码中对我的列表进行分组,然后将集合提供给它,而不是使用 PropertyGroupDescription 为我做这件事的 ListView 。
public class MyGroup : ObservableCollection<MyClass>
{
public int ID{ get; set; }
public MyGroup (IEnumerable<MyClass> items) : base(items)
{
ID= items.First().ID;
}
}
//other code
collectionViewSource.Source = myGroup;
然后我只需将 collectionViewSource 绑定(bind)到 ItemSource。我怎样才能在 WPF 中做这样的事情?
最佳答案
因此,根据我的经验,UWP 和 WPF 之间的区别似乎是,在 UWP 中,您使用 ByGroup 进行预分组,然后将列表提供给 CollectionViewSource。在 WPF 中,您将 CollectionViewSource 与 List 一起提供,然后它自己对其进行分组。在 UWP 中,HeaderTemplate 的数据上下文是 MyGroup。在 WPF 中,数据上下文是 CollectionViewGroup。我只是通过绑定(bind)传递了一个不同的对象,它起作用了。
关于c# - 在 wpf 中对 ListView 进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36652822/