我有一個UserControl,它基本上只包含一個DataGrid。 在這個DataGrid中,我有一個事件列表(嚴重性 - 日期 - 消息)。 用戶控件通過MVVMLight Toolkit
的ViewModelLocator
綁定。WPF DataGrid:指定默認排序
我添加了兩件事情:
在我的用戶資源:
<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 /列甚至沒有命名,所以我不能嘗試通過別的方法來編輯它們)。
(起初我只是有在DataGridTextColumn
的SortDirection
同樣的結果)
請再次閱讀我的問題,你基本上建議我兩件事情,我已經完成和描述。 – J4N