using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using AIStudio.Wpf.DiagramApp.Models; using AIStudio.Wpf.DiagramDesigner; using AIStudio.Wpf.DiagramDesigner.Additionals; using AIStudio.Wpf.Mind.Models; namespace AIStudio.Wpf.DiagramApp.ViewModels { public class DrawingViewModel : PageViewModel { public DrawingViewModel(string title, string status, DiagramType diagramType) : base(title, status, diagramType) { } public DrawingViewModel(string filename, DiagramDocument diagramDocument) : base(filename, diagramDocument) { foreach (var vm in DiagramViewModels) { vm.Init(false); } } protected override void InitDiagramViewModel() { base.InitDiagramViewModel(); DiagramViewModel.DiagramOption.LayoutOption.GridCellSize = new Size(100, 100); DiagramViewModel.DiagramOption.LayoutOption.ShowGrid = false; DiagramViewModel.DiagramOption.LayoutOption.AllowDrop = true; } protected override void Init(bool initNew) { DiagramViewModels = new ObservableCollection() { GetDiagramViewModel("页-1", DiagramType, initNew), }; DiagramViewModel = DiagramViewModels.FirstOrDefault(); DesignerItemViewModelBase line = new LineDrawingDesignerItemViewModel(DiagramViewModel, new List { new Point(38, 38), new Point(118, 118) }, true); DiagramViewModel.Add(line); DesignerItemViewModelBase rectangle = new RectangleDrawingDesignerItemViewModel(DiagramViewModel, new List { new Point(138, 38), new Point(218, 118) }, true); DiagramViewModel.Add(rectangle); DesignerItemViewModelBase ellipse = new EllipseDrawingDesignerItemViewModel(DiagramViewModel, new List { new Point(238, 38), new Point(318, 118) }, true); DiagramViewModel.Add(ellipse); TextDrawingDesignerItemViewModel text = new TextDrawingDesignerItemViewModel(DiagramViewModel, new Point(338, 38), "欢迎使用AIStudio画板", true); DiagramViewModel.Add(text); } public override void Dispose() { base.Dispose(); } } }