如何获得绑定到ListView的列表作为ItemSource?

我有一个WPF ListView,其中一个List<T>ItemsSource。 现在,我要查询绑定到ListView的列表名称。我该如何实现?

我需要List<T>的名称,以便可以重用该函数。示例:

    private void Sort(ListView lv)
    {
        lv.ItemsSource.Sort((x,y) => y.Name.CompareTo(x.Name)); // does not work
    }
maryk_ok 回答:如何获得绑定到ListView的列表作为ItemSource?

如果您在此处查看代码:

https://www.wpf-tutorial.com/listview-control/listview-sorting/

您会发现您不需要列表名称即可对其进行排序。

编辑: 而且,您可以仅使用通用字符串(在您的情况下似乎是“名称”)引用列。

列表视图与设置或绑定到它的项源的默认视图一起使用。 您可以获取对此的引用并应用排序描述符。

链接中的代码:

    public ListViewSortingSample()
    {
        InitializeComponent();
        List<User> items = new List<User>();
        items.Add(new User() { Name = "John Doe",Age = 42 });
        items.Add(new User() { Name = "Jane Doe",Age = 39 });
        items.Add(new User() { Name = "Sammy Doe",Age = 13 });
        items.Add(new User() { Name = "Donna Doe",Age = 13 });
        lvUsers.ItemsSource = items;

        CollectionView view = (CollectionView)CollectionViewSource.GetDefaultView(lvUsers.ItemsSource);
        view.SortDescriptions.Add(new SortDescription("Age",ListSortDirection.Ascending));
    }

在该sortdescription中用“ Name”替换年龄,然后在Name属性中对其进行排序。

本文链接:https://www.f2er.com/3148656.html

大家都在问