private bool AddNode(TreeViewMItem root, string NodeName = "") { if (StoreTree == null) { MessageBox.Show("请先创建树"); return(false); } TreeViewMItem node = null; if (root != null) { node = new TreeViewMItem(NodeName, root.Path); root.Items.Add(node); root.IsExpanded = true; // 展开 root 节点 } else { node = new TreeViewMItem("Root", ""); tree.Items.Add(node); } textNodeDB.AddNewNode(node); /// 新节点写入数据库并获取 ID tree.UpdateLayout(); node.Focus(); return(true); }
// 节点升级 private bool UpgradeNode(TreeViewMItem node) { if (node == null) { return(false); } TreeViewMItem parent = node.Parent as TreeViewMItem; if (parent == null) { return(false); } TreeViewMItem grandPa = parent.Parent as TreeViewMItem; parent.Items.Remove(node); if (grandPa != null) { grandPa.Items.Add(node); } else { tree.Items.Add(node); } node.Focus(); return(true); }
// 带有警告提示框 private bool RemoveNode(TreeViewMItem node) { if (StoreTree == null) { MessageBox.Show("请先创建树"); return(false); } if (node == null) { return(false); } string s = "确定删除节点 “{0}” 及其所有子节点?"; s = String.Format(s, node.Header); if (MessageBox.Show(s, "警告", MessageBoxButton.YesNo, MessageBoxImage.Information) != MessageBoxResult.Yes) { return(false); } _removeNode(node); return(true); }
private void _removeNode(TreeViewMItem node) { if (node == null) { return; } TreeViewMItem parent = node.Parent as TreeViewMItem; textNodeDB.DeleteNode(node.ID); for (int i = node.Items.Count - 1; i >= 0; i--) { _removeNode(node.Items[i] as TreeViewMItem); } if (parent == null) { tree.Items.Remove(node); tree.UpdateLayout(); } else { parent.Items.Remove(node); parent.UpdateLayout(); } }