public void GroupResultsBy(SearchResultGroupingKind kind) { bool perFile = false; switch (kind) { case SearchResultGroupingKind.Flat: this.Children = resultNodes; perFile = false; break; case SearchResultGroupingKind.PerFile: this.Children = fileNodes; perFile = true; break; case SearchResultGroupingKind.PerProject: this.Children = projectNodes; perFile = false; break; case SearchResultGroupingKind.PerProjectAndFile: this.Children = projectAndFileNodes; perFile = true; break; default: throw new ArgumentOutOfRangeException(); } foreach (SearchResultNode node in resultNodes) { node.ShowFileName = !perFile; } }
static void SetResultGrouping(SearchResultGroupingKind grouping = SearchResultGroupingKind.Flat) { ResultsTreeView.GroupingKind = grouping; if (resultsTreeViewInstance != null) { foreach (SearchRootNode node in resultsTreeViewInstance.ItemsSource.OfType <SearchRootNode>()) { node.GroupResultsBy(grouping); } } }
static void SetResultGrouping(SearchResultGroupingKind grouping = SearchResultGroupingKind.Flat) { ResultsTreeView.GroupingKind = grouping; if (resultsTreeViewInstance != null) { foreach (SearchRootNode node in resultsTreeViewInstance.ItemsSource.OfType<SearchRootNode>()) { node.GroupResultsBy(grouping); } } }