Files
aistudio-wpf-diagram/AIStudio.Wpf.DiagramDesigner/Models/Serializables/DesignerItemBase.cs
2023-01-24 16:20:39 +08:00

73 lines
1.8 KiB
C#

using AIStudio.Wpf.DiagramDesigner;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Media;
using System.Xml.Serialization;
namespace AIStudio.Wpf.DiagramDesigner
{
[Serializable]
[XmlInclude(typeof(DesignerItemBase))]
public class DesignerItemBase : SelectableItemBase
{
public DesignerItemBase()
{
}
public DesignerItemBase(DesignerItemViewModelBase viewmodel, string reserve = null) : base(viewmodel)
{
this.Left = viewmodel.Left;
this.Top = viewmodel.Top;
this.Angle = viewmodel.Angle;
this.ScaleX = viewmodel.ScaleX;
this.ScaleY = viewmodel.ScaleY;
this.ItemWidth = viewmodel.ItemWidth;
this.ItemHeight = viewmodel.ItemHeight;
this.Icon = viewmodel.Icon;
this.ItemTypeName = viewmodel.GetType().FullName;
this.Margin = viewmodel.Margin;
this.Reserve = reserve;
}
[XmlAttribute]
public double Left { get; set; }
[XmlAttribute]
public double Top { get; set; }
[XmlAttribute]
public double Angle { get; set; }
[XmlAttribute]
public double ScaleX { get; set; }
[XmlAttribute]
public double ScaleY { get; set; }
[XmlAttribute]
public double Margin { get; set; }
[XmlAttribute]
public double ItemWidth { get; set; }
[XmlAttribute]
public double ItemHeight { get; set; }
[XmlAttribute]
public string Icon { get; set; }
[XmlAttribute]
public string Reserve { get; set; }
[XmlAttribute]
public string ItemTypeName { get; set; }
}
}