This commit is contained in:
艾竹
2023-03-07 22:59:27 +08:00
parent f042f95ee0
commit f48838f54a
7 changed files with 66 additions and 35 deletions

View File

@@ -54,6 +54,7 @@ namespace AIStudio.Wpf.Mind.ViewModels
base.Init(root);
EnabledForConnection = false;
AlwayForResized = true;
AddChildCommand = (Root as IMindDiagramViewModel)?.AddChildCommand;
AddParentCommand = (Root as IMindDiagramViewModel)?.AddParentCommand;
@@ -100,22 +101,6 @@ namespace AIStudio.Wpf.Mind.ViewModels
return mindNodeModel;
}
public override void AddToSelection(bool selected)
{
if (NodeLevel == 0)
{
base.AddToSelection(selected);
}
else
{
foreach (SelectableDesignerItemViewModelBase item in Root.SelectedItems.ToList())
item.IsSelected = false;
this.IsSelected= true;
}
}
#region
public IMindLayout MindLayout
{
@@ -389,11 +374,14 @@ namespace AIStudio.Wpf.Mind.ViewModels
this.Children.Add(item);
}
item.Parent = this;
item.ParentId = this.Id;
item.InitLayout(true);
ConnectionViewModel connector = MindLayout?.GetOrSetConnectionViewModel(this, item);
Root?.DirectAddItemCommand.Execute(new SelectableDesignerItemViewModelBase[] { item, connector });
connector.ZIndex = -1;
connector.IsSelected = false;
item.IsSelected = false;
this.IsSelected = true;
}
@@ -450,14 +438,9 @@ namespace AIStudio.Wpf.Mind.ViewModels
{
if (e is ValuePropertyChangedEventArgs valuePropertyChangedEventArgs)
{
if (NodeLevel == 0)
{
//LayoutUpdated();
}
else
if (NodeLevel > 0 && IsSelected)
{
UpdateOffsetX((double)valuePropertyChangedEventArgs.OldValue, (double)valuePropertyChangedEventArgs.NewValue);
//LayoutUpdated();
}
}
break;
@@ -466,14 +449,9 @@ namespace AIStudio.Wpf.Mind.ViewModels
{
if (e is ValuePropertyChangedEventArgs valuePropertyChangedEventArgs)
{
if (NodeLevel == 0)
{
//LayoutUpdated();
}
else
if (NodeLevel > 0 && IsSelected)
{
UpdateOffsetY((double)valuePropertyChangedEventArgs.OldValue, (double)valuePropertyChangedEventArgs.NewValue);
//LayoutUpdated();
}
}
break;
@@ -487,6 +465,14 @@ namespace AIStudio.Wpf.Mind.ViewModels
}
}
public override void AddToSelection(bool selected)
{
foreach (SelectableDesignerItemViewModelBase item in Root.SelectedItems.ToList())
item.IsSelected = false;
Root.SelectedItems.Clear();
IsSelected = selected;
}
#region
public MindNode GetLevel1Node()
{