c# - 在 wpf 中对 ListView 进行分组

标签 c# wpf xaml grouping icollectionview

在 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/

相关文章:

c# - 是否可以在自定义助手中使用 HtmlHelper 对象?

c# - 如何使用 MVVM 自动隐藏 WPF 中的 DataGrid 列?

c# - 按键事件不会被方向键激活

c# - Xamarin.Forms ScrollView 增加了额外的空间

c# - 文件是空的,我不明白为什么。 Asp.net mvc 文件结果

c# - 代理-服务器拓扑的服务器推送与客户端拉取

wpf - 是否可以创建大于屏幕的窗口?

wpf - GroupStyles 是如何工作的?

c# - 使用 Jira 6.4.3 将附件发布到 Rest api

c# - 即使鼠标指针移动到 wpf 中的另一个控件,弹出窗口也不会消失