using AIStudio.Wpf.DiagramApp.Models; using AIStudio.Wpf.DiagramApp.ViewModels; using AIStudio.Wpf.Flowchart.ViewModels; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Media; using AIStudio.Wpf.DiagramDesigner; using AIStudio.Wpf.Mind.ViewModels; using AIStudio.Wpf.Mind; namespace AIStudio.Wpf.Flowchart { public class MindViewModel : PageViewModel { public MindViewModel(string title, string status, DiagramType diagramType) : base(title, status, diagramType) { } public MindViewModel(string filename, DiagramDocument diagramDocument) : base(filename, diagramDocument) { _service.DrawModeViewModel.LineDrawMode = DrawMode.ConnectingLineSmooth; } protected override void InitDiagramViewModel() { base.InitDiagramViewModel(); DiagramViewModel.GridCellSize = new Size(100, 100); DiagramViewModel.ShowGrid= false; _service.DrawModeViewModel.LineDrawMode = DrawMode.ConnectingLineSmooth; DiagramViewModel.AllowDrop = false; } private MindType _mindType = Mind.MindType.Organizational; public MindType MindType { get { return _mindType; } set { SetProperty(ref _mindType, value); } } protected override void Init() { base.Init(); MindNode level1node = new MindNode(DiagramViewModel, Mind.NodeLevel.Level1, MindType) { Text = "思维导图" }; level1node.Left = 220; level1node.Top = 15; DiagramViewModel.DirectAddItemCommand.Execute(level1node); //DiagramViewModel.CenterMoveCommand.Execute(level1node); MindNode level2node1_1 = new MindNode(DiagramViewModel, Mind.NodeLevel.Level2, MindType) { Text = "分支主题1" }; level1node.AddChild(level2node1_1); MindNode level3node1_1_1 = new MindNode(DiagramViewModel, Mind.NodeLevel.Level3, MindType) { Text = "分支主题1_1" }; level2node1_1.AddChild(level3node1_1_1); MindNode level3node1_1_2 = new MindNode(DiagramViewModel, Mind.NodeLevel.Level3, MindType) { Text = "分支主题1_2" }; level2node1_1.AddChild(level3node1_1_2); MindNode level3node1_1_3 = new MindNode(DiagramViewModel, Mind.NodeLevel.Level3, MindType) { Text = "分支主题1_3" }; level2node1_1.AddChild(level3node1_1_3); MindNode level2node1_2 = new MindNode(DiagramViewModel, Mind.NodeLevel.Level2, MindType) { Text = "分支主题2" }; level1node.AddChild(level2node1_2); MindNode level2node1_3 = new MindNode(DiagramViewModel, Mind.NodeLevel.Level2, MindType) { Text = "分支主题3" }; level1node.AddChild(level2node1_3); DiagramViewModel.ClearSelectedItemsCommand.Execute(null); level1node.LayoutUpdated(); } public override void Dispose() { base.Dispose(); foreach (var viewModel in DiagramViewModels) { FlowchartService.DisposeData(viewModel); } } } }