可以切换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,9 +23,21 @@ namespace AIStudio.Wpf.Mind.ViewModels
}
}
}
public MindNode RootItem
{
get
{
return Items.OfType<MindNode>().FirstOrDefault();
}
}
#endregion
#region
public SimpleCommand AddRootCommand
{
get; private set;
}
public SimpleCommand AddParentCommand
{
@@ -64,7 +76,7 @@ namespace AIStudio.Wpf.Mind.ViewModels
{
return this._changeMindTypeCommand ?? (this._changeMindTypeCommand = new SimpleCommand(MindExecuteEnable, this.ExecutedChangeMindTypeCommand));
}
}
}
public SimpleCommand ChangeMindThemeCommand
{
@@ -115,6 +127,11 @@ namespace AIStudio.Wpf.Mind.ViewModels
DeleteSelfCommand = new SimpleCommand(MindLevelEnable, ExecuteDeleteSelfCommand);
MoveForwardCommand = new SimpleCommand(MindExecuteEnable, ExecuteMoveForwardCommand);
MoveBackCommand = new SimpleCommand(MindExecuteEnable, ExecuteMoveBackCommand);
MindNode level1node = new MindNode(this) { Left = 200, Top = 200, Text = "思维导图" };
level1node.InitLayout(true);
Items.Add(level1node);
level1node.IsSelected = true;
}
public bool MindExecuteEnable(object para)
@@ -130,7 +147,7 @@ namespace AIStudio.Wpf.Mind.ViewModels
{
if (MindExecuteEnable(obj) == false) return false;
return (SelectedItem as MindNode).NodeLevel != NodeLevel.Level1;
return (SelectedItem as MindNode).NodeLevel != 0;
}
#region
@@ -138,9 +155,9 @@ namespace AIStudio.Wpf.Mind.ViewModels
{
if (obj is MindType mindType)
{
Items.OfType<MindNode>().ToList().ForEach(item => { item.MindType = mindType; });
Items.OfType<MindNode>().FirstOrDefault()?.LayoutUpdated();
Items.OfType<MindNode>().ToList().ForEach(item => { item.InitLayout(true); });
Items.OfType<MindNode>().ToList().ForEach(item => { item.InitConnectLayout(); });
RootItem?.LayoutUpdated();
}
}
@@ -163,7 +180,7 @@ namespace AIStudio.Wpf.Mind.ViewModels
if (items?.Count == 0)
{
var node = new MindNode(this, (NodeLevel)Math.Min((int)parent.NodeLevel + 1, (int)NodeLevel.Level3), this.MindType) { Text = "分支主题" };
var node = new MindNode(this) { Text = "分支主题" };
items.Add(node);
}
@@ -203,7 +220,7 @@ namespace AIStudio.Wpf.Mind.ViewModels
}
if (items?.Count == 0)
{
items.Add(new MindNode(this, node.NodeLevel, this.MindType) { Text = "分支主题" });
items.Add(new MindNode(this) { Text = "分支主题" });
}
if (node.Parent is MindNode parent)
@@ -249,7 +266,7 @@ namespace AIStudio.Wpf.Mind.ViewModels
if (items?.Count == 0)
{
var node = new MindNode(this, pear.NodeLevel, this.MindType) { Text = "分支主题" };
var node = new MindNode(this) { Text = "分支主题" };
items.Add(node);
}