【发布时间】:2015-06-22 14:24:10
【问题描述】:
我有一个 UserControl,它基本上只包含一个 DataGrid。
在这个 DataGrid 中,我有一个事件列表(严重性 - 日期 - 消息)。
用户控件通过MVVMLight Toolkit的ViewModelLocator绑定。
我添加了两件事:
在我的 UserControl 资源中:
<UserControl.Resources>
<CollectionViewSource x:Key="SortedEvents" Source="{Binding Events}">
<CollectionViewSource.SortDescriptions>
<componentModel:SortDescription PropertyName="EventTime" Direction="Descending"/>
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
</UserControl.Resources>
DataGrid 使用的:
<DataGrid ItemsSource="{Binding Source={StaticResource SortedEvents}}" AutoGenerateColumns="False" >
我还在DataGridTextColumn.SortDirection 上设置了SortedDirection:
<DataGridTextColumn Binding="{Binding EventTime}" Header="Time" IsReadOnly="True" SortDirection="Descending"/>
当我检查设计器时,我看到显示 DataGrid 已正确排序的小箭头。
但是当我启动应用程序时,列表没有排序,箭头不在这里。如果我单击该列对其进行排序,它将正确排序所有内容,它只是似乎不起作用的默认值。
我错过了什么? (这个 dataGrid/column 甚至没有命名,所以我无法尝试通过其他方式编辑它们)。
(最初我在DataGridTextColumn 上只有SortDirection。结果相同)
【问题讨论】: