Ejemplo n.º 1
0
        public void OverallSortAllChilds(SortOrder sortOrder)
        {
            switch (sortOrder)
            {
            case SortOrder.None:
                break;

            case SortOrder.Ascending:
                TreeViewItems = new ObservableCollection <TreeViewItemBase>(TreeViewItems.AsEnumerable().OrderBy(x => x.DisplayName));
                //recursive call
                TreeViewItems.ToList().ForEach(x => x.OverallSortAllChilds(sortOrder));
                break;

            case SortOrder.Descending:
                TreeViewItems = new ObservableCollection <TreeViewItemBase>(TreeViewItems.AsEnumerable().OrderByDescending(x => x.DisplayName));
                //recursive call
                TreeViewItems.ToList().ForEach(x => x.OverallSortAllChilds(sortOrder));
                break;

            case SortOrder.Reverse:
                TreeViewItems = new ObservableCollection <TreeViewItemBase>(TreeViewItems.AsEnumerable().Reverse());
                //recursive call
                TreeViewItems.ToList().ForEach(x => x.OverallSortAllChilds(sortOrder));
                break;

            default:
                throw new NotImplementedException();
            }
        }