W jaki sposób można zastosować niestandardową regułę sortowania do siatki danych WPF?

Kiedy użytkownik robi kolumnę, sortuj w moimDataGrid, Chcę, aby wszystkie puste lub puste komórki były sortowane na dole, a nie na górze.

NapisałemIComparer<T> to sprawia, że ​​puste miejsca są zawsze sortowane w dół, ale nie wiem, jak zastosować je do kolumn mojegoDataGrid. Zauważ, żeInicjał rodzajDataGrid, co robię z LINQOrderBy() metoda, działa świetnie. Problem polega na tym, że wszystkie kolejne sortowania wykonywane przez użytkownika sortują puste pola do góry.

Kod porównawczy

public class BlankLastStringComparer : IComparer<string>
{
    public int Compare(string x, string y)
    {
        if (string.IsNullOrEmpty(x) && !string.IsNullOrEmpty(y))
            return 1;
        else if (!string.IsNullOrEmpty(x) && string.IsNullOrEmpty(y))
            return -1;
        else
            return string.Compare(x, y);
    }
}

pytania

Jak zdobyćDataGridColumn korzystać z mojego porównania? A jeśli nie jest to możliwe, możesz zaoferować obejście problemu? W miarę możliwości mam nadzieję na przyjazne rozwiązanie MVVM.

questionAnswers(2)

yourAnswerToTheQuestion