动画demo完成

This commit is contained in:
艾竹
2023-01-27 14:54:03 +08:00
parent 64ea56f01e
commit 72e3efb052
81 changed files with 1211 additions and 503 deletions

View File

@@ -15,24 +15,22 @@ namespace AIStudio.Wpf.DiagramDesigner
{
public class ConnectionViewModel : SelectableDesignerItemViewModelBase
{
public ConnectionViewModel(IDiagramViewModel root, FullyCreatedConnectorInfo sourceConnectorInfo, ConnectorInfoBase sinkConnectorInfo, DrawMode drawMode, RouterMode routerMode)
{
Root = root;
PathMode = drawMode.ToString();
RouterMode = routerMode.ToString();
Init(sourceConnectorInfo, sinkConnectorInfo);
}
public ConnectionViewModel(FullyCreatedConnectorInfo sourceConnectorInfo, ConnectorInfoBase sinkConnectorInfo, DrawMode drawMode = DrawMode.ConnectingLineSmooth, RouterMode routerMode = AIStudio.Wpf.DiagramDesigner.RouterMode.RouterNormal) : this(null, sourceConnectorInfo, sinkConnectorInfo, drawMode, routerMode)
{
}
public ConnectionViewModel(IDiagramViewModel root, FullyCreatedConnectorInfo sourceConnectorInfo, ConnectorInfoBase sinkConnectorInfo, DrawMode drawMode = DrawMode.ConnectingLineSmooth, RouterMode routerMode = AIStudio.Wpf.DiagramDesigner.RouterMode.RouterNormal) : base(root)
{
PathMode = drawMode.ToString();
RouterMode = routerMode.ToString();
Init(sourceConnectorInfo, sinkConnectorInfo);
}
public ConnectionViewModel(IDiagramViewModel root, FullyCreatedConnectorInfo sourceConnectorInfo, FullyCreatedConnectorInfo sinkConnectorInfo, ConnectionItem designer) : base(root, designer)
{
PathMode = designer.PathMode;
RouterMode = designer.RouterMode;
Init(sourceConnectorInfo, sinkConnectorInfo);
}
@@ -76,9 +74,9 @@ namespace AIStudio.Wpf.DiagramDesigner
AddLabelCommand = new SimpleCommand(Command_Enable, para => AddLabel());
}
protected override void LoadDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designerbase)
protected override void LoadDesignerItemViewModel(SelectableItemBase designerbase)
{
base.LoadDesignerItemViewModel(root, designerbase);
base.LoadDesignerItemViewModel(designerbase);
if (designerbase is ConnectionItem designer)
{
@@ -297,23 +295,6 @@ namespace AIStudio.Wpf.DiagramDesigner
}
}
private LineAnimation _lineAnimation = LineAnimation.None;
[Browsable(true)]
[CanDo]
[StyleName("LineAnimationStyle")]
public LineAnimation LineAnimation
{
get
{
return _lineAnimation;
}
set
{
SetProperty(ref _lineAnimation, value);
}
}
public virtual Dictionary<string, string> PropertiesSetting
{
get
@@ -384,6 +365,11 @@ namespace AIStudio.Wpf.DiagramDesigner
}
}
public void RaiseFullConnection()
{
RaisePropertyChanged(nameof(IsFullConnection));
}
public bool IsPortless => SourceConnectorInfo?.DataItem?.Connectors?.Count() == 0;
#endregion
@@ -506,6 +492,15 @@ namespace AIStudio.Wpf.DiagramDesigner
}
}
}
else if (sender is ColorViewModel)
{
switch (e.PropertyName)
{
case nameof(ColorViewModel.LineAnimation):
RaisePropertyChanged(nameof(PathGeneratorResult));
break;
}
}
}
private void UpdateArea()