mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-03-03 00:00:57 +08:00
61 lines
1.7 KiB
C#
61 lines
1.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using AIStudio.Wpf.DiagramDesigner.Models;
|
|
|
|
namespace AIStudio.Wpf.DiagramDesigner
|
|
{
|
|
public class BlockContainDesignerItemViewModel : BlockDesignerItemViewModel
|
|
{
|
|
public BlockContainDesignerItemViewModel()
|
|
{
|
|
}
|
|
|
|
public BlockContainDesignerItemViewModel(IDiagramViewModel root) : base(root)
|
|
{
|
|
}
|
|
|
|
public BlockContainDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
|
|
{
|
|
}
|
|
|
|
public BlockContainDesignerItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
|
{
|
|
}
|
|
|
|
protected override void InitNew()
|
|
{
|
|
base.InitNew();
|
|
|
|
Contains.Add(new ItemsContainerInfo(this.Root, this));
|
|
}
|
|
|
|
public override void AddChild(BlockDesignerItemViewModel child)
|
|
{
|
|
var oldchildren = FirstContain.Children.FirstOrDefault();
|
|
if (oldchildren != null)
|
|
{
|
|
this.RemoveChild(oldchildren);
|
|
}
|
|
|
|
Root.Items.Remove(child);
|
|
FirstContain.Children.Add(child);
|
|
|
|
base.AddChild(child);
|
|
}
|
|
|
|
public override void RemoveChild(BlockDesignerItemViewModel child)
|
|
{
|
|
Root.Items.Add(child);
|
|
FirstContain.Children.Remove(child);
|
|
|
|
this.RemoveFromSelection();
|
|
child.AddToSelection(true, false);
|
|
|
|
base.RemoveChild(child);
|
|
}
|
|
}
|
|
}
|