private void LoadTreeWithDemos() { DemoTreeview.Items.Clear(); foreach (var dict in Cookbook.Locate.GetCategorizedRecipes()) { string category = dict.Key; Cookbook.IRecipe[] recipes = dict.Value; TreeViewItem categoryNode = new TreeViewItem() { Header = category }; DemoTreeview.Items.Add(categoryNode); foreach (Cookbook.IRecipe recipe in recipes) { TreeViewItem recipeNode = new TreeViewItem() { Header = recipe.Title, Tag = recipe.ID }; categoryNode.Items.Add(recipeNode); } } DemoTreeview.Focus(); ((TreeViewItem)DemoTreeview.Items[0]).IsExpanded = true; ((TreeViewItem)((TreeViewItem)DemoTreeview.Items[0]).Items[0]).IsSelected = true; }
private void LoadTreeWithDemos() { IPlotDemo[] plots = Reflection.GetPlotsInOrder(); IEnumerable <string> majorCategories = plots.Select(x => x.categoryMajor).Distinct(); foreach (string majorCategory in majorCategories) { var majorTreeItem = new TreeViewItem() { Header = majorCategory, IsExpanded = true }; DemoTreeview.Items.Add(majorTreeItem); IEnumerable <string> minorCategories = plots.Where(x => x.categoryMajor == majorCategory).Select(x => x.categoryMinor).Distinct(); foreach (string minorCategory in minorCategories) { var minorTreeItem = new TreeViewItem() { Header = minorCategory }; if (majorCategory == plots[0].categoryMajor && minorCategory == plots[0].categoryMinor) { minorTreeItem.IsExpanded = true; } majorTreeItem.Items.Add(minorTreeItem); IEnumerable <IPlotDemo> categoryPlots = plots.Where(x => x.categoryMajor == majorCategory && x.categoryMinor == minorCategory); foreach (IPlotDemo demoPlot in categoryPlots) { var classNameTreeItem = new TreeViewItem() { Header = demoPlot.name, Tag = demoPlot.classPath }; if (demoPlot.classPath == plots[0].classPath) { classNameTreeItem.IsSelected = true; } minorTreeItem.Items.Add(classNameTreeItem); } } } DemoTreeview.Focus(); }
private void LoadTreeWithDemos() { DemoTreeview.ItemsSource = Reflection.GetPlotNodeItems(); DemoTreeview.Focus(); }