Стрелки ColumnHeader не отражаются при сортировке DataGrid в XAML - PullRequest
7 голосов
/ 25 июля 2011

У меня есть DataGrid с некоторой сортировкой, определенной в XAML, например:

<CollectionViewSource x:Key="DefaultSort" Source="{Binding SearchResults}">
    <CollectionViewSource.SortDescriptions>
        <scm:SortDescription PropertyName="ExternalOrgNo" Direction="Ascending"/>
        <scm:SortDescription PropertyName="ExternalBranchNumber" Direction="Ascending"/>
    </CollectionViewSource.SortDescriptions>
</CollectionViewSource>

Сортировка правильно применяется к DataGrid, но в сетке нет признаков сортировки.* Глядя на представление в коде позади, я вижу SortDescription в коллекции, и я попытался обновить представление, но оно не сработало.

Как сделать так, чтобы стрелки ColumnHeader правильно отражали состояние представленияИзначально коллекция SortDescription?

ОБНОВЛЕНИЕ: Я нашел ответ.Я добавил SortDirection в DataGridTextColumn в DataGrid.Это добавило стрелки ColumnHeader.

<DataGridTextColumn Header="Ext Firm #" Binding="{Binding ExternalOrgNo}" DisplayIndex="4" SortDirection="Ascending" Visibility="Visible" />
<DataGridTextColumn Header="Ext Branch #" Binding="{Binding ExternalBranchNumber}" DisplayIndex="5" SortDirection="Ascending" Visibility="Visible" />

1 Ответ

2 голосов
/ 30 октября 2013

ОП не выглядит постоянным посетителем, поэтому до этого момента я публикую его решение в качестве ответа:

Добавьте SortDirection к DataGridTextColumn в DataGrid. Это добавило ColumnHeader стрелки.

<DataGridTextColumn Header="Ext Firm #" 
                    Binding="{Binding ExternalOrgNo}" 
                    DisplayIndex="4" 
                    SortDirection="Ascending" 
                    Visibility="Visible" />
<DataGridTextColumn Header="Ext Branch #" 
                    Binding="{Binding ExternalBranchNumber}" 
                    DisplayIndex="5" 
                    SortDirection="Ascending" 
                    Visibility="Visible" />
...