mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-03-20 00:16:36 +08:00
可以切换MindType
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user