mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-04-12 20:26:35 +08:00
使用物理尺寸进行设置
This commit is contained in:
@@ -4,6 +4,7 @@ using System.IO;
|
||||
using System.Text;
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
@@ -27,14 +28,15 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
Orientation = viewmodel.Orientation;
|
||||
}
|
||||
|
||||
|
||||
[XmlAttribute]
|
||||
[JsonProperty(PropertyName = "ConnectorWidth")]
|
||||
[XmlAttribute("ConnectorWidth")]
|
||||
public double PhysicalConnectorWidth
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
[JsonProperty(PropertyName = "ConnectorHeight")]
|
||||
[XmlAttribute("ConnectorHeight")]
|
||||
public double PhysicalConnectorHeight
|
||||
{
|
||||
get; set;
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using AIStudio.Wpf.DiagramDesigner;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@@ -33,13 +34,13 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
this.Reserve = reserve;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
[XmlAttribute("Left")]
|
||||
public double PhysicalLeft
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
[XmlAttribute("Top")]
|
||||
public double PhysicalTop
|
||||
{
|
||||
get; set;
|
||||
@@ -69,13 +70,15 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
[JsonProperty(PropertyName = "ItemWidth")]
|
||||
[XmlAttribute("ItemWidth")]
|
||||
public double PhysicalItemWidth
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
[JsonProperty(PropertyName = "ItemHeight")]
|
||||
[XmlAttribute("ItemHeight")]
|
||||
public double PhysicalItemHeight
|
||||
{
|
||||
get; set;
|
||||
|
||||
165
AIStudio.Wpf.DiagramDesigner/Models/Serializables/DiagramItem.cs
Normal file
165
AIStudio.Wpf.DiagramDesigner/Models/Serializables/DiagramItem.cs
Normal file
@@ -0,0 +1,165 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Windows;
|
||||
using System.Windows.Media;
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
[Serializable]
|
||||
public class DiagramItem
|
||||
{
|
||||
public DiagramItem()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public DiagramItem(IDiagramViewModel diagramView)
|
||||
{
|
||||
Name = diagramView.Name;
|
||||
DiagramType = diagramView.DiagramType;
|
||||
ShowGrid = diagramView.ShowGrid;
|
||||
PhysicalGridCellSize = diagramView.PhysicalGridCellSize;
|
||||
CellHorizontalAlignment = diagramView.CellHorizontalAlignment;
|
||||
CellVerticalAlignment = diagramView.CellVerticalAlignment;
|
||||
PageSizeOrientation = diagramView.PageSizeOrientation;
|
||||
PhysicalPageSize = diagramView.PhysicalPageSize;
|
||||
PageSizeType = diagramView.PageSizeType;
|
||||
PhysicalGridMarginSize = diagramView.PhysicalGridMarginSize;
|
||||
GridColor = diagramView.GridColor;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public string Name
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public DiagramType DiagramType
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public bool ShowGrid
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlIgnore]
|
||||
public Size PhysicalGridCellSize
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
[XmlAttribute("GridCellSize")]
|
||||
public string XmlGridCellSize
|
||||
{
|
||||
get
|
||||
{
|
||||
return SerializeHelper.SerializeSize(PhysicalGridCellSize);
|
||||
}
|
||||
set
|
||||
{
|
||||
PhysicalGridCellSize = SerializeHelper.DeserializeSize(value);
|
||||
}
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public CellHorizontalAlignment CellHorizontalAlignment
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public CellVerticalAlignment CellVerticalAlignment
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public PageSizeOrientation PageSizeOrientation
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlIgnore]
|
||||
public Size PhysicalPageSize
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
[XmlAttribute("PageSize")]
|
||||
public string XmlPageSize
|
||||
{
|
||||
get
|
||||
{
|
||||
return SerializeHelper.SerializeSize(PhysicalPageSize);
|
||||
}
|
||||
set
|
||||
{
|
||||
PhysicalPageSize = SerializeHelper.DeserializeSize(value);
|
||||
}
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public PageSizeType PageSizeType
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlIgnore]
|
||||
public Size PhysicalGridMarginSize
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
[XmlAttribute("GridMarginSize")]
|
||||
public string XmlGridMarginSize
|
||||
{
|
||||
get
|
||||
{
|
||||
return SerializeHelper.SerializeSize(PhysicalGridMarginSize);
|
||||
}
|
||||
set
|
||||
{
|
||||
PhysicalGridMarginSize = SerializeHelper.DeserializeSize(value);
|
||||
}
|
||||
}
|
||||
|
||||
[XmlIgnore]
|
||||
public Color GridColor
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
[XmlAttribute("GridColor")]
|
||||
public string XmlGridColor
|
||||
{
|
||||
get
|
||||
{
|
||||
return SerializeHelper.SerializeColor(GridColor);
|
||||
}
|
||||
set
|
||||
{
|
||||
GridColor = SerializeHelper.DeserializeColor(value);
|
||||
}
|
||||
}
|
||||
|
||||
[XmlArray]
|
||||
public List<SerializableItem> DesignerItems { get; set; } = new List<SerializableItem>();
|
||||
|
||||
[XmlArray]
|
||||
public List<SerializableItem> Connections { get; set; } = new List<SerializableItem>();
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user