可以切换MindType

This commit is contained in:
艾竹
2023-03-05 23:22:34 +08:00
parent 79f4896fbd
commit cd20abd7fe
18 changed files with 286 additions and 254 deletions

View File

@@ -23,7 +23,7 @@ namespace AIStudio.Wpf.Flowchart
}
public MindViewModel(string filename, DiagramDocument diagramDocument) : base(filename, diagramDocument)
{
_service.DrawModeViewModel.LineDrawMode = DrawMode.ConnectingLineSmooth;
}
protected override void InitDiagramViewModel()
@@ -35,6 +35,14 @@ namespace AIStudio.Wpf.Flowchart
DiagramViewModel.AllowDrop = false;
}
public IMindDiagramViewModel MindDiagramViewModel
{
get
{
return DiagramViewModel as IMindDiagramViewModel;
}
}
protected override void Init()
{
DiagramViewModels = new ObservableCollection<IDiagramViewModel>()
@@ -44,51 +52,32 @@ namespace AIStudio.Wpf.Flowchart
DiagramViewModel = DiagramViewModels.FirstOrDefault();
InitDiagramViewModel();
MindNode level1node = new MindNode(DiagramViewModel, Mind.NodeLevel.Level1, MindType) { Text = "思维导图" };
DiagramViewModel.DirectAddItemCommand.Execute(level1node);
var level1node = MindDiagramViewModel.RootItem;
DiagramViewModel.CenterMoveCommand.Execute(level1node);
MindNode level2node1_1 = new MindNode(DiagramViewModel, Mind.NodeLevel.Level2, MindType) { Text = "分支主题1" };
level1node.AddChild(level2node1_1);
MindNode level2node1_1 = new MindNode(DiagramViewModel) { Text = "分支主题1" };
MindDiagramViewModel.AddChildCommand.Execute(new MindNode[] { level1node, level2node1_1 });
MindNode level3node1_1_1 = new MindNode(DiagramViewModel, Mind.NodeLevel.Level3, MindType) { Text = "分支主题1_1" };
level2node1_1.AddChild(level3node1_1_1);
MindNode level2node1_1_1 = new MindNode(DiagramViewModel) { Text = "分支主题1_1" };
MindDiagramViewModel.AddChildCommand.Execute(new MindNode[] { level2node1_1, level2node1_1_1 });
MindNode level3node1_1_2 = new MindNode(DiagramViewModel, Mind.NodeLevel.Level3, MindType) { Text = "分支主题1_2" };
level2node1_1.AddChild(level3node1_1_2);
MindNode level2node1_1_2 = new MindNode(DiagramViewModel) { Text = "分支主题1_2" };
MindDiagramViewModel.AddChildCommand.Execute(new MindNode[] { level2node1_1, level2node1_1_2 });;
MindNode level3node1_1_3 = new MindNode(DiagramViewModel, Mind.NodeLevel.Level3, MindType) { Text = "分支主题1_3" };
level2node1_1.AddChild(level3node1_1_3);
MindNode level2node1_1_3 = new MindNode(DiagramViewModel) { Text = "分支主题1_3" };
MindDiagramViewModel.AddChildCommand.Execute(new MindNode[] { level2node1_1, level2node1_1_3 });
MindNode level2node1_2 = new MindNode(DiagramViewModel, Mind.NodeLevel.Level2, MindType) { Text = "分支主题2" };
level1node.AddChild(level2node1_2);
MindNode level2node1_2 = new MindNode(DiagramViewModel) { Text = "分支主题2" };
MindDiagramViewModel.AddChildCommand.Execute(new MindNode[] { level1node, level2node1_2 });
MindNode level2node1_3 = new MindNode(DiagramViewModel, Mind.NodeLevel.Level2, MindType) { Text = "分支主题3" };
level1node.AddChild(level2node1_3);
MindNode level2node1_3 = new MindNode(DiagramViewModel) { Text = "分支主题3" };
MindDiagramViewModel.AddChildCommand.Execute(new MindNode[] { level1node, level2node1_3 });
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
level1node.LayoutUpdated();
}
private MindType _mindType = Mind.MindType.Organizational;
public MindType MindType
{
get
{
return _mindType;
}
set
{
if (SetProperty(ref _mindType, value))
{
//DiagramViewModel as MindDiagramViewModel
}
}
}
public override void Dispose()
{
base.Dispose();