gpt4 book ai didi

c# - WPF 数据网格按所选列自动排序

转载 作者:行者123 更新时间:2023-11-30 23:32:03 25 4
gpt4 key购买 nike

目前我正在研究 WPF 的数据网格。我遇到了自动排序的问题。这是我的 xaml:

<DataGrid x:Name="customTasksDataGrid" Margin="10,10,10,38" Grid.Column="1" IsReadOnly="True" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="ID" Binding="{Binding ID}"/>
<DataGridTextColumn Header="Client" Binding="{Binding Client.Names}"/>
...
<DataGridTextColumn Header="DueDate" Binding="{Binding DueDate, StringFormat=\{0:dd.MM.yy HH:mm\}}" SortDirection="Ascending">
<DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Foreground" Value="{Binding Path=., Converter={StaticResource converter}}"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
...
</DataGrid.Columns>

问题是:当我更新数据网格的 ItemsSource 时,数据网格按 ID 列排序,而不是按要求按 DueDate 排序。当对我的数据网格执行任何更新操作时,如何按 DueDate 实现自动排序?

我尝试使用:PropertyChanged.Fody 中的 [ImplementPropertyChanged] 标记并将其放在我的 CustomTask 类之前,但这种方法不起作用完全没有(甚至不知道是否需要)。

编辑:

可以用:

customTasksDataGrid.ItemsSource = model;
customTasksDataGrid.Items.SortDescriptions.Add(new SortDescription("DueDate", ListSortDirection.Ascending));

最佳答案

您可以简单地在代码隐藏中对数据网格进行排序:

datagrid.Items.SortDescriptions.Add(new SortDescription("DueDate", ListSortDirection.Ascending));

关于c# - WPF 数据网格按所选列自动排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34421719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com