private ContextMenu ConstructContextMenu(ModellingTreeNode node) { System.Windows.Controls.ContextMenu menu = new ContextMenu(); Action <string, EventHandler> AddItem = (str, handler) => { MenuItem item = new MenuItem(); item.Header = str; item.Click += new RoutedEventHandler(handler); menu.Items.Add(item); }; AddItem("Rename", node.ContextMenuRename); AddItem("Remove", node.ContextMenuRemove); if (node is ModellingTreeNodeProject) { AddItem("New Grid", (node as ModellingTreeNodeProject).ContextMenuNewGrid); } if (node is ModellingTreeNodeGrid) { AddItem("New Fissure", (node as ModellingTreeNodeGrid).ContextMenuAddNewFissure); AddItem("Import", (node as ModellingTreeNodeGrid).ContextMenuImport); } return(menu); }
private void SelectItem(object sender, EventArgs args) { if (args is RoutedPropertyChangedEventArgs <object> ) { if ((args as RoutedPropertyChangedEventArgs <object>).NewValue != null) { string name = (string)(((args as RoutedPropertyChangedEventArgs <object>).NewValue) as TreeViewItem).Header; ModellingTreeNode node = treeController.FindModellingTreeNode(name); if ((node != null) & (treeController.ActiveNode != node)) { treeController.ActiveNode = node; } } } }
private void MainMenuFileNewProject(object sender, RoutedEventArgs args) { string name = treeController.ExistedModellingTreeNodeName("Project"); ModellingTreeNode nodeProjectA = treeController.AddNewProject(name); }