private TreeItem CreateNode(IModuleViewModel model) { TreeItem node = new TreeItem(); model.SubModulesChanged += () => UpdateNode(model, node); UpdateNode(model, node); return(node); }
private void UpdateNode(IModuleViewModel model, ITreeItem node) { TreeItem treeItem = (TreeItem)node; treeItem.Text = model.ModuleName; treeItem.Tag = model; nodeMapper.UpdateCollection(model.GetSubModules(), treeItem.Children); Tree.RefreshItem(treeItem); }
private ITreeItem FindTreeItem(TreeItemCollection nodes, IModuleViewModel module) { foreach (ITreeItem treeNode in nodes) { TreeItem node = (TreeItem)treeNode; if (node == null) { continue; } if (node.Tag == module) { return(node); } ITreeItem matchingChild = FindTreeItem(node.Children, module); if (matchingChild != null) { return(matchingChild); } } return(null); }
private void SelectNode(IModuleViewModel module) { ITreeItem treeItem = FindTreeItem(treeNodes, module); if (Tree.SelectedItem != treeItem) { Tree.RefreshData(); Tree.SelectedItem = treeItem; Tree.RefreshData(); if (treeItem != null) { ITreeItem topParent = treeItem; ITreeItem parent = treeItem.Parent; while (parent != null) { topParent = parent; parent.Expanded = true; parent = parent.Parent; } Tree.RefreshItem(topParent); } } }
public ModuleView(IModuleViewModel viewModel) { InitializeComponent(); viewModel.View = this; }
public ModuleView(IModuleViewModel viewModel) { InitializeComponent(); DataContext = viewModel; }