Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 按默认列对ListView排序_C#_Wpf_Xaml - Fatal编程技术网

C# 按默认列对ListView排序

C# 按默认列对ListView排序,c#,wpf,xaml,C#,Wpf,Xaml,我有一个xaml listview,其中包含一个可观察集合的项源,该集合的有效负载为“Person”对象。如果在集合中添加或删除项,是否有方法使listview按列进行默认排序?因此,假设Person对象具有“Age”属性。添加或删除项目时,如何让listview按年龄自动排序?我一直在寻找解决方案,但没有找到。仅在addItem和removeItem函数上,在末尾添加以下内容: SortDescription mySort = new SortDescription(Age, ListSort

我有一个xaml listview,其中包含一个可观察集合的项源,该集合的有效负载为“Person”对象。如果在集合中添加或删除项,是否有方法使listview按列进行默认排序?因此,假设Person对象具有“Age”属性。添加或删除项目时,如何让listview按年龄自动排序?我一直在寻找解决方案,但没有找到。

仅在addItem和removeItem函数上,在末尾添加以下内容:

SortDescription mySort = new SortDescription(Age, ListSortDirection.Ascending);
this.ListView1.Items.SortDescriptions.Clear();
this.ListView1.Items.SortDescriptions.Add(mySort);

这将在“Age”属性上添加排序。

这确实很有帮助。我在资源标签的xaml中使用了“排序描述”,它工作得非常好。非常干净的解决方案。@nikotromus我也通过仅使用XAML的解决方案进行了尝试,但它对我无效-我可以请您通过单独的回答提供您的解决方案作为示例吗?:)无需在每个添加项处重新应用
SortDescription
,因为它会自动用于新添加的项。显然,在项目移除时,不必诉诸任何手段。但是,如果只有项目的属性发生更改,则必须重新应用
sortddescription
,以便对更新的值应用排序!