private void GridViewColumnHeader_Click(object sender, RoutedEventArgs e) { GridViewColumnHeader column = sender as GridViewColumnHeader; String field = column.Tag as String; if (_CurSortCol != null) { AdornerLayer.GetAdornerLayer(_CurSortCol).Remove(_CurAdorner); } else if (_CurAdorner != null) { // clear sort icon from default column GridView gridView = (GridView)this._tree.View; GridViewColumn defColumn = gridView.Columns.Where(x => ((GridViewColumnHeader)x.Header).Tag.ToString() == DefaultColumnTag).FirstOrDefault(); if (defColumn != null) { AdornerLayer.GetAdornerLayer((GridViewColumnHeader)defColumn.Header).Remove(_CurAdorner); } } 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); //_sorter.SortColumn = field; //_sorter.SortDirection = newDir; //this._tree.Rows.Sort(_sorter); this._tree.Sort(field, newDir); //this._tree.Rows.RowItemsView.CustomSort = _sorter; //this._tree.Rows.RowItemsView.SortDescriptions.Clear(); //this._tree.Rows.RowItemsView.SortDescriptions.Add(new SortDescription(_sorter.SortColumn, _sorter.SortDirection)); //this._tree.Rows.RowItemsView.Refresh(); //return; //_tree.Items.SortDescriptions.Add(new SortDescription(field, newDir)); //ListCollectionView view = (ListCollectionView ) CollectionViewSource.GetDefaultView(this._tree.ItemsSource); //if (view != null) //{ // _sorter.SortColumn = field; // _sorter.SortDirection = newDir; // view.CustomSort = _sorter; // this._tree.Items.Refresh(); //} }
public void ApplyLayoutPreferences() { this.LayoutPreferencesApplied = true; // apply layout preferences WorklistViewModel viewModel = (WorklistViewModel)DataContext; if (viewModel != null) { UserPreferences.Instance.LayoutPreferences.ApplyWorklistColumnPreferences(viewModel.Type.ToString(), this._tree.View as GridView); } // display default sort column - DateTime GridView gridView = (GridView)this._tree.View; GridViewColumn defColumn = gridView.Columns.Where(x => ((GridViewColumnHeader)x.Header).Tag.ToString() == DefaultColumnTag).FirstOrDefault(); if (defColumn != null) { GridViewColumnHeader header = defColumn.Header as GridViewColumnHeader; if (header.Column != null) { _CurAdorner = new SortAdorner(header, ListSortDirection.Ascending); AdornerLayer.GetAdornerLayer(header).Add(_CurAdorner); } } }