private void SortClick(object sender, RoutedEventArgs e) { // ReSharper disable once SuggestUseVarKeywordEvident GridViewColumnHeader column = sender as GridViewColumnHeader; // ReSharper disable SuggestUseVarKeywordEvident String field = column.Tag as String; // ReSharper restore SuggestUseVarKeywordEvident if (_CurSortCol != null) { AdornerLayer.GetAdornerLayer(_CurSortCol).Remove(_CurAdorner); gameListView.Items.SortDescriptions.Clear(); } ListSortDirection newDir = ListSortDirection.Ascending; if (_CurSortCol == column && _CurAdorner.Direction == newDir) newDir = ListSortDirection.Descending; _CurSortCol = column; _CurAdorner = new SortAdorner(_CurSortCol, newDir); AdornerLayer.GetAdornerLayer(_CurSortCol).Add(_CurAdorner); gameListView.Items.SortDescriptions.Add( new SortDescription(field, newDir)); }