2011-07-25 23 views
7

Tôi có một DataGrid với một số phân loại theo quy định tại XAML như vậy:mũi tên ColumnHeader không được phản ánh khi sắp xếp một DataGrid trong 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> 

Các phân loại được đúng áp dụng cho các DataGrid nhưng không có dấu hiệu của sự sắp xếp trên Cái lưới sắt.

Nhìn vào chế độ xem trong mã phía sau tôi thấy SortDescriptions trong bộ sưu tập và tôi đã thử làm mới chế độ xem nhưng nó không hoạt động.

Làm cách nào để có các mũi tên ColumnHeader phản ánh đúng trạng thái bộ sưu tập SortDescription của chế độ xem ban đầu?

CẬP NHẬT: Tôi đã tìm thấy câu trả lời. Tôi đã thêm SortDirection vào DataGridTextColumn trong DataGrid. Điều này đã thêm các mũi tên 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

Như bạn đã tìm thấy câu trả lời đó là tốt hơn mà bạn gửi nó như một câu trả lời và đánh dấu nó như chấp nhận (Vâng, trên SO bạn có thể trả lời cho mình!) Bằng cách này bất cứ ai đi qua câu hỏi của bạn trong tương lai có thể dễ dàng nhận thấy nó được trả lời. –

Trả lời

2

Các OP không giống như là một người truy cập thường xuyên để cho đến lúc đó, tôi gửi giải pháp của mình như là một câu trả lời:

Thêm SortDirection đến DataGridTextColumn trong DataGrid. Điều này đã thêm các mũi tên 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" /> 
+0

Điều này không hoạt động nếu thuộc tính 'SortDescriptions' của CollectionViewSource được đặt trong mã và thay đổi theo thời gian chạy, do đó, đặt hằng số' SortDescription = "Ascending" 'sẽ sai vì nó không phản ánh phân loại hiện tại. – Dai

Các vấn đề liên quan