要件の背景
デフォルトのDataGridのクリック·ヘッダーは、昇順↑と降順↓の2つの状態のみを切り替えることができます。

しかし、実際のビジネスシナリオでは、ユーザーはデフォルトのデータソートをすばやく復元する必要があります。
プログラムの実施
素敵な同僚は、メッセージを歓迎するより良い実装方法を提供します:
public static class DataGridExtension
{
public static void AddSorting(this Avalonia.Controls.DataGrid dataGrid)
{
var view = new DataGridCollectionView(dataGrid.ItemsSource);
dataGrid.Sorting += (s, e) =>
{
if (s is not Avalonia.Controls.DataGrid) return;
var memberPath = e.Column.SortMemberPath;
var sortDescription = view.SortDescriptions.FirstOrDefault(d => d.PropertyPath == memberPath);
if (sortDescription is not null && sortDescription.Direction == ListSortDirection.Descending)
{
view.SortDescriptions.Clear();
e.Handled = true;
}
dataGrid.ItemsSource = view;
view.Refresh();
};
}
}
効果の実証。

この番号はAvaloniaの戦闘スキルを共有し続け、注目を歓迎し、コミュニケーションを維持し、一緒に進歩します。