private void FillTreeview(SampleViewModel parentSample = null, TreeNodeCollection parentChildNodes = null) { if (parentSample is null) { parentSample = SampleViewModel; TreeNode parentTreeNode = new TreeNode(parentSample.Name, 0, 0); treeView1.Nodes.Add(parentTreeNode); parentChildNodes = parentTreeNode.Nodes; } foreach (SampleViewModel childSample in parentSample) { int imageIndex = 0; int selectedImageIndex = 0; switch (childSample.SampleType) { case SampleType.Engine: imageIndex = selectedImageIndex = 2; break; case SampleType.Windows: imageIndex = selectedImageIndex = 3; break; default: //Category break; } var childTreeNode = new TreeNode(childSample.Name, imageIndex, selectedImageIndex); parentChildNodes.Add(childTreeNode); FillTreeview(childSample, childTreeNode.Nodes); childTreeNode.Expand(); } if (parentSample is SampleViewModel) { treeView1.Nodes[0].Expand(); } }
private void InitializeViewModel() { SampleViewModel category1 = new SampleViewModel("category1", SampleType.Category); for (int i = 1; i < 5; i++) { category1.Add(new SampleViewModel("category1-item-" + i, SampleType.Engine)); } SampleViewModel category2 = new SampleViewModel("category2", SampleType.Category); for (int i = 1; i < 4; i++) { category2.Add(new SampleViewModel("category2-item-" + i, SampleType.Windows)); } SampleViewModel category3 = new SampleViewModel("category3", SampleType.Category); for (int i = 1; i < 7; i++) { category3.Add(new SampleViewModel("category3-item-" + i, SampleType.Windows)); } SampleViewModel category4 = new SampleViewModel("category4", SampleType.Category); for (int i = 1; i < 3; i++) { category4.Add(new SampleViewModel("category4-item-" + i, SampleType.Engine)); } SampleViewModel = new SampleViewModel("Root node", SampleType.Category); SampleViewModel.Add(category1); SampleViewModel.Add(category2); SampleViewModel.Add(category3); SampleViewModel.Add(category4); }