mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-03-20 00:16:36 +08:00
为线的动画做扩展准备
This commit is contained in:
@@ -24,7 +24,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
ColorItem = new ColorItem() { LineColor = new ColorObjectItem(), FillColor = new ColorObjectItem() };
|
||||
FontItem = new FontItem();
|
||||
SharpItem = new SharpItem() { SourceMarker = new LinkMarkerItem(), SinkMarker = new LinkMarkerItem() };
|
||||
SharpItem = new SharpItem() { SourceMarker = new SharpPathItem(), SinkMarker = new SharpPathItem() };
|
||||
}
|
||||
|
||||
public SelectableItemBase(SelectableViewModelBase viewmodel)
|
||||
@@ -37,8 +37,9 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
this.Name = viewmodel.Name;
|
||||
|
||||
ColorItem = CopyHelper.Mapper<ColorItem>(viewmodel.ColorViewModel);
|
||||
FontItem = CopyHelper.Mapper<FontItem, IFontViewModel>(viewmodel.FontViewModel);
|
||||
FontItem = CopyHelper.Mapper<FontItem>(viewmodel.FontViewModel);
|
||||
SharpItem = CopyHelper.Mapper<SharpItem>(viewmodel.ShapeViewModel);
|
||||
AnimationItem = CopyHelper.Mapper<AnimationItem>(viewmodel.AnimationViewModel);
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
@@ -94,6 +95,12 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlElement]
|
||||
public AnimationItem AnimationItem
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
}
|
||||
|
||||
[XmlInclude(typeof(ColorItem))]
|
||||
@@ -171,18 +178,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public LineAnimation LineAnimation
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public double LineAnimationDuration
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
}
|
||||
|
||||
@@ -190,18 +186,18 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
public class SharpItem : IShapeViewModel
|
||||
{
|
||||
[XmlIgnore]
|
||||
public ILinkMarker SourceMarker
|
||||
public ISharpPath SourceMarker
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
[XmlElement("SourceMarker")]
|
||||
public LinkMarkerItem XmlSourceMarker
|
||||
public SharpPathItem XmlSourceMarker
|
||||
{
|
||||
get
|
||||
{
|
||||
return SourceMarker as LinkMarkerItem;
|
||||
return SourceMarker as SharpPathItem;
|
||||
}
|
||||
set
|
||||
{
|
||||
@@ -210,18 +206,18 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
|
||||
[XmlIgnore]
|
||||
public ILinkMarker SinkMarker
|
||||
public ISharpPath SinkMarker
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
[XmlElement("SinkMarker")]
|
||||
public LinkMarkerItem XmlSinkMarker
|
||||
public SharpPathItem XmlSinkMarker
|
||||
{
|
||||
get
|
||||
{
|
||||
return SinkMarker as LinkMarkerItem;
|
||||
return SinkMarker as SharpPathItem;
|
||||
}
|
||||
set
|
||||
{
|
||||
@@ -273,7 +269,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
[XmlElement("FontColor")]
|
||||
[XmlElement("Color")]
|
||||
public string XmlFontColor
|
||||
{
|
||||
get
|
||||
@@ -419,6 +415,62 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
}
|
||||
|
||||
[XmlInclude(typeof(AnimationItem))]
|
||||
public class AnimationItem : IAnimationViewModel
|
||||
{
|
||||
[XmlAttribute]
|
||||
public LineAnimation LineAnimation
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public double Duration
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlIgnore]
|
||||
public Color Color
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
[XmlElement("Color")]
|
||||
public string XmlColor
|
||||
{
|
||||
get
|
||||
{
|
||||
return SerializeHelper.SerializeColor(Color);
|
||||
}
|
||||
set
|
||||
{
|
||||
Color = SerializeHelper.DeserializeColor(value);
|
||||
}
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public string Path
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public double Width
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public double Height
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
}
|
||||
|
||||
public class SerializeHelper
|
||||
{
|
||||
public static string SerializeColor(Color color)
|
||||
@@ -798,7 +850,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
}
|
||||
|
||||
public class LinkMarkerItem : ILinkMarker
|
||||
public class SharpPathItem : ISharpPath
|
||||
{
|
||||
[XmlAttribute]
|
||||
public string Path
|
||||
|
||||
Reference in New Issue
Block a user