/// <summary> /// Adding Content Menu to Node /// </summary> private void AddContextMenutoNode(BrainstormingNodeVM node) { if (node != null) { if (node.Menu == null) { node.Menu = new DiagramMenu(); node.Menu.MenuItems = new ObservableCollection <DiagramMenuItem>(); } DiagramMenuItem mi = new DiagramMenuItem() { Content = "Add Subtopic", Command = SubTopicCommand }; DiagramMenuItem mi1 = new DiagramMenuItem() { Content = "Add Peer Topic", Command = PeerCommand }; DiagramMenuItem mi2 = new DiagramMenuItem() { Content = "Add Multiple Subtopics", Command = MultipleSubTopicCommand }; DiagramMenuItem mi3 = new DiagramMenuItem() { Content = "Change Topic Shapes", Command = ChangeTopicCommand }; (node.Menu.MenuItems as ICollection <DiagramMenuItem>).Add(mi); if (node != (SelectedDiagram as Brainstorming.ViewModel.BrainstormingVM).Rootnode) { (node.Menu.MenuItems as ICollection <DiagramMenuItem>).Add(mi1); } (node.Menu.MenuItems as ICollection <DiagramMenuItem>).Add(mi2); (node.Menu.MenuItems as ICollection <DiagramMenuItem>).Add(mi3); DiagramMenuItem mi4 = new DiagramMenuItem() { Content = "Edit Text", Command = (SelectedDiagram as BrainstormingVM).EditText }; DiagramMenuItem mi5 = new DiagramMenuItem() { Content = "Delete", Command = (SelectedDiagram as BrainstormingVM).ItemDeletingCommand }; (node.Menu.MenuItems as ICollection <DiagramMenuItem>).Add(mi4); if (node != (SelectedDiagram as BrainstormingVM).Rootnode) { (node.Menu.MenuItems as ICollection <DiagramMenuItem>).Add(mi5); } node.Constraints = node.Constraints | NodeConstraints.Menu; node.Constraints = node.Constraints & ~NodeConstraints.InheritMenu; } }
private void Addsubmenu() { IGraphInfo diagramInfo = (Diagram.Info as IGraphInfo); DiagramMenuItem menu = new DiagramMenuItem() { Content = "Delete", Command = diagramInfo.Commands.Delete, Icon = @"pack://*****:*****@"pack://application:,,,/Icons/zoom.jpg", }; //Intialize the sub-menu item for Zooming menu with ZoomIn command DiagramMenuItem zoomIn = new DiagramMenuItem() { // Defines the content of menu item Content = "ZoomIn", // Defines the icon that appears in menu item - it accepts the image path. Icon = @"pack://*****:*****@"pack://application:,,,/Icons/zoomout.png", Command = diagramInfo.Commands.Zoom, CommandParameter = new ZoomPositionParameter() { ZoomFactor = 0.5, ZoomCommand = ZoomCommand.ZoomOut } }; Zoom.Items = new ObservableCollection <DiagramMenuItem>(); //Adding zooming menus into diagram menu as to add sub-menu items. Zoom.Items.Add(zoomIn); Zoom.Items.Add(zoomOut); //Adding zooming menu into diagram default menu. Diagram.Menu.MenuItems.Add(Zoom); }
public MainWindow() { InitializeComponent(); Diagram.Nodes = new NodeCollection(); Diagram.Connectors = new ConnectorCollection(); Diagram.Groups = new GroupCollection(); NodeViewModel node1 = AddNode(950, 400, "Rectangle"); NodeViewModel node2 = AddNode(850, 500, "Rectangle"); NodeViewModel node3 = AddNode(650, 200, "Ellipse"); NodeViewModel node4 = AddNode(750, 300, "Card"); NodeViewModel node5 = AddNode(200, 300, "Ellipse"); NodeViewModel node6 = AddNode(200, 500, "Card"); NodeViewModel node7 = AddNode(400, 300, "RoundedRectangle"); NodeViewModel node8 = AddNode(400, 500, "PaperTap"); ConnectorViewModel cvm = new ConnectorViewModel() { SourceNode = node1, TargetNode = node2 }; GroupViewModel group = new GroupViewModel() { Nodes = new NodeCollection() { node1, node2 }, Connectors = new ConnectorCollection() { cvm }, }; (Diagram.Groups as GroupCollection).Add(group); GroupViewModel grp = new GroupViewModel() { Nodes = new NodeCollection() { node3, node4 } }; (Diagram.Groups as GroupCollection).Add(grp); ConnectorViewModel cvm1 = new ConnectorViewModel() { SourceNode = group, TargetNode = grp }; (Diagram.Connectors as ConnectorCollection).Add(cvm1); DiagramMenuItem Groupmenu = new DiagramMenuItem() { Content = "Group", Command = (Diagram.Info as IGraphInfo).Commands.Group, }; DiagramMenuItem UnGroupmenu = new DiagramMenuItem() { Content = "UnGroup", Command = (Diagram.Info as IGraphInfo).Commands.UnGroup, }; Diagram.Menu.MenuItems.Add(Groupmenu); Diagram.Menu.MenuItems.Add(UnGroupmenu); (Diagram.Info as IGraphInfo).ItemDropEvent += MainWindow_ItemDropEvent; }