block的序列化与反序列化

This commit is contained in:
艾竹
2023-07-15 10:20:50 +08:00
parent 954aeee87e
commit 515ce1944b
6 changed files with 233 additions and 49 deletions

View File

@@ -0,0 +1,61 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;
using Newtonsoft.Json;
namespace AIStudio.Wpf.DiagramDesigner
{
[Serializable]
[XmlInclude(typeof(BlockItemsContainerInfoItem))]
public class BlockItemsContainerInfoItem : SelectableItemBase
{
public BlockItemsContainerInfoItem()
{
}
public BlockItemsContainerInfoItem(BlockItemsContainerInfo viewmodel) : base(viewmodel)
{
this.OnlyOneChild = viewmodel.OnlyOneChild;
this.ChildFlag = viewmodel.ChildFlag;
this.PhysicalItemWidth = viewmodel.PhysicalItemWidth;
this.PhysicalItemHeight = viewmodel.PhysicalItemHeight;
Children = new List<BlockDesignerItem>(viewmodel.Children.Select(p => new BlockDesignerItem(p)));
}
public bool OnlyOneChild
{
get; set;
}
public List<string> ChildFlag
{
get; set;
}
[JsonProperty(PropertyName = "ItemWidth")]
[XmlAttribute("ItemWidth")]
public double PhysicalItemWidth
{
get; set;
}
[JsonProperty(PropertyName = "ItemHeight")]
[XmlAttribute("ItemHeight")]
public double PhysicalItemHeight
{
get; set;
}
[XmlArray]
public List<BlockDesignerItem> Children
{
get; set;
}
}
}