我需要ObservableCollection按字母顺序对after populatior 进行排序,假设里面有这个模型:
class Nation
{
public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
这是我的ObservableCollection:
ObservableCollection<Nation> ob = new ObservableCollection<Nation>();
Run Code Online (Sandbox Code Playgroud)
假设在我里面我有这个订单的三个项目:
我需要按字母顺序排序,所以我尝试:
ob.OrderBy(c => c.Name);
Run Code Online (Sandbox Code Playgroud)
但我没有效果,应该是:
我做错了什么?
将您绑定
ObservableCollection到 aCollectionViewsource,在其上添加排序,然后将其CollectionViewSource用作ItemSource控件的 。
使用 CollectionViewSource 进行排序
<CollectionViewSource x:Key='src' Source="{Binding ob}">
<CollectionViewSource.SortDescriptions>
<componentModel:SortDescription PropertyName="Name" />
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
Run Code Online (Sandbox Code Playgroud)
示例用法
<ListView ItemsSource="{Binding Source={StaticResource src}}" >
Run Code Online (Sandbox Code Playgroud)