[英]WPF order listbox items
如何订购从模型绑定到列表框的项目。
我定义的模型是:
public ObservableCollection<NotificationItem> Classes:
我需要按分配给每个通知项目的ID进行订购。
目前我有定义:
<ListBox ItemsSource="{Binding Classes, Source={StaticResource model}}"
ScrollViewer.VerticalScrollBarVisibility="Visible"
DataContext="{Binding}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Label Content="{Binding Name}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
我在哪里参考模型:
<Model:ClassModel x:Key="model" />
更新:
模型的初始化是由
try
{
this.notifierModel = this.Resources["model"] as ClassModel;
this.classController.Initialize(this.notifierModel);
}
catch
{
// todo: handle exception
}
您可以直接在模型(数据上下文)上订购集合,也可以创建自定义CollectionViewSource并将ListBox绑定到该集合 。
在哪里设置Classes
您需要具备:
Classes = new ObservableCollection(results.OrderBy(i => i.Id));
而不只是:
Classes = new ObservableCollection(results);
假设results
是查询返回的数据列表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.