AvaloniaのヒントDataGrid追加ソート解除

AvaloniaのヒントDataGrid追加ソート解除

デフォルトのクリック列ヘッダーは昇順、降順のソートのみで、キャンセルできません。

最后更新 2025/07/17 22:57
沙漠尽头的狼
预计阅读 1 分钟
分类
Avalonia UI
标签
.NET C# Avalonia UI インタラクションデザインの Avalonia

要件の背景

デフォルトの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の戦闘スキルを共有し続け、注目を歓迎し、コミュニケーションを維持し、一緒に進歩します。

Keep Exploring

延伸阅读

更多文章
同分类 / 同标签 2026/01/11

Avalonia ClipboardとDataGridの問題点

Avaloniaデスクトップソフトウェアの最近の開発で解決された2つの問題を文書化します:クリップボードのコピーのクラッシュ、タブの切り替えDataGridのキートン、原因の分析と解決策

继续阅读