public void RemoveChild(ExampleTreeElement child) { if (Children.Contains(child)) { Children.Remove(child); child.Parent = null; } }
private void AddChildrenRecursive(ExampleTreeElement model, TreeViewItem item) { foreach (var childModel in model.Children) { var childItem = CreateTreeViewItem(childModel); item.AddChild(childItem); AddChildrenRecursive(childModel, childItem); } }
public void AddChild(ExampleTreeElement child) { if (child.Parent != null) { child.Parent.RemoveChild(child); } Children.Add(child); child.Parent = this; }
//Treeの準備 private void SetTreeData() { if (_treeViewState == null) { _treeViewState = new TreeViewState(); } int currentId = 0; ExampleTreeElement root; if (BonesTree == null || BonesTree.Count == 0) { _treeView = new ExampleTreeView(_treeViewState); currentId = 0; root = new ExampleTreeElement { id = ++currentId, Name = "NoData" }; } else { _treeView = new ExampleTreeView(_treeViewState); currentId = 0; root = new ExampleTreeElement { id = ++currentId, Name = BonesTree[0][0].transform.root.name }; for (var i = 0; i < BonesTree.Count; i++) { var element = new ExampleTreeElement { id = ++currentId, Name = BonesTree[i][0].name }; for (var j = 1; j < BonesTree[i].Count; j++) //0はrootが入ってるので除外 { element.AddChild(new ExampleTreeElement { id = ++currentId, Name = BonesTree[i][j].name }); } root.AddChild(element); } } _treeView.Setup(new List <ExampleTreeElement> { root }.ToArray()); _searchField = new SearchField(); _searchField.downOrUpArrowKeyPressed += _treeView.SetFocusAndEnsureSelectedItem; }
private TreeViewItem CreateTreeViewItem(ExampleTreeElement model) { return(new TreeViewItem { id = model.id, displayName = model.Name }); }