Mind Editoe

This commit is contained in:
艾竹
2023-03-05 21:30:53 +08:00
parent 9061146139
commit 79f4896fbd
41 changed files with 2090 additions and 484 deletions

View File

@@ -10,6 +10,7 @@ using System.Windows;
using System.Xml.Linq;
using AIStudio.Wpf.DiagramDesigner;
using AIStudio.Wpf.DiagramDesigner.Geometrys;
using AIStudio.Wpf.Mind.ViewModels;
namespace AIStudio.Wpf.Mind.Controls
{
@@ -22,7 +23,7 @@ namespace AIStudio.Wpf.Mind.Controls
public const string PART_DiagramControl = "PART_DiagramControl";
private DiagramControl _diagramControl;
private IDiagramViewModel _diagramViewModel;
private MindDiagramViewModel _diagramViewModel;
static MindEditor()
{
@@ -31,16 +32,10 @@ namespace AIStudio.Wpf.Mind.Controls
public MindEditor()
{
_diagramViewModel = new DiagramViewModel();
_diagramViewModel.ShowGrid = true;
_diagramViewModel.GridCellSize = new SizeBase(125 / ScreenHelper.ScreenScale, 125 / ScreenHelper.ScreenScale);
_diagramViewModel = new MindDiagramViewModel();
_diagramViewModel.GridMarginSize = new Size(0, 0);
_diagramViewModel.CellHorizontalAlignment = CellHorizontalAlignment.Center;
_diagramViewModel.CellVerticalAlignment = CellVerticalAlignment.Center;
_diagramViewModel.PageSizeType = PageSizeType.Custom;
_diagramViewModel.PageSize = new SizeBase(double.NaN, double.NaN);
_diagramViewModel.ColorViewModel = new ColorViewModel() { LineWidth = 2 };
_diagramViewModel.DrawModeViewModel = new DrawModeViewModel() { LineDrawMode = DrawMode.ConnectingLineSmooth };
_diagramViewModel.PropertyChanged += DiagramViewModel_PropertyChanged;
}
@@ -52,7 +47,7 @@ namespace AIStudio.Wpf.Mind.Controls
_diagramControl = GetTemplateChild(PART_DiagramControl) as DiagramControl;
_diagramControl.HorizontalAlignment = HorizontalAlignment.Stretch;
_diagramControl.VerticalAlignment = VerticalAlignment.Stretch;
_diagramControl.DataContext = _diagramViewModel;
this.DataContext = _diagramViewModel;
GetDataFunc = GetData;
}
@@ -97,7 +92,11 @@ namespace AIStudio.Wpf.Mind.Controls
{
_diagramViewModel.IsLoading = true;
_diagramViewModel.Items.Clear();
//_diagramViewModel.ToObject(json);
MindNode level1node = new MindNode(_diagramViewModel, Mind.NodeLevel.Level1, _diagramViewModel.MindType) { Text = "思维导图" };
_diagramViewModel.DirectAddItemCommand.Execute(level1node);
level1node.Left = 200;
level1node.Top = 200;
_diagramViewModel.DoCommandManager.Init();
_diagramViewModel.IsLoading = false;
}