2013-05-19 74 views
0

在我的WPF應用程序,我有一個顯示我的排序數據的一些列的DataGrid。用戶可以對他想要的任何列進行排序和排序。去除DataGrid中的排序箭頭編程在WPF

我增加了一個按鈕,應該明確的分類和使用MVVM模式(這意味着該按鈕在視圖模型綁定到RelayCommand,即清除DataGrid的數據源的SortDescriptions。)

返回 DataGrid其無序狀態

這是代碼現在的樣子:

ViewModelLocator.MyViewModel.GroupedItems.SortDescriptions.Clear(); 

DataGrid的DataSource是(的ListCollectionView型)GroupedItems對象。當我點擊按鈕時,我看到DataGrid返回到其原始的非排序狀態,但列標題中的排序箭頭仍然保留,就好像DataGrid仍然排序一樣。我如何以編程方式刪除這些箭頭?

回答

1

要刪除箭頭DataGrid嘗試:

foreach (var column in dt.Columns) 
{ 
    column.SortDirection = null; 
} 

哪裏dtDataGrid

+0

謝謝!有沒有辦法刪除它們而不必知道我的'DataGrid'控件? –

+0

不幸的是,我沒有遇到過這樣的事情。我懷疑這可能:( – Rafal

+0

你的意思是在你的應用程序中所有的DataGrid控件?如果是這樣,你可以遍歷控制類型,如果類型是數據網格,那麼你可以將上面的屬性設置爲null! – KbManu