mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-03-19 07:56:37 +08:00
为线的动画做扩展准备
This commit is contained in:
@@ -41,8 +41,8 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
if (this.DataContext is ConnectionViewModel connector && connector.ColorViewModel != null)
|
||||
{
|
||||
connector.ColorViewModel.PropertyChanged -= Connector_PropertyChanged;
|
||||
connector.ColorViewModel.PropertyChanged += Connector_PropertyChanged;
|
||||
connector.AnimationViewModel.PropertyChanged -= Connector_PropertyChanged;
|
||||
connector.AnimationViewModel.PropertyChanged += Connector_PropertyChanged;
|
||||
}
|
||||
this.ball.Visibility = Visibility.Collapsed;
|
||||
await DoAnimation();
|
||||
@@ -52,8 +52,8 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
switch (e.PropertyName)
|
||||
{
|
||||
case nameof(ColorViewModel.LineAnimation):
|
||||
case nameof(ColorViewModel.LineAnimationDuration):
|
||||
case nameof(AnimationViewModel.LineAnimation):
|
||||
case nameof(AnimationViewModel.Duration):
|
||||
await DoAnimation();
|
||||
break;
|
||||
|
||||
@@ -65,7 +65,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
if (this.DataContext is ConnectionViewModel connector && connector.IsFullConnection)
|
||||
{
|
||||
await System.Threading.Tasks.Task.Delay(100);
|
||||
switch (connector.ColorViewModel.LineAnimation)
|
||||
switch (connector.AnimationViewModel.LineAnimation)
|
||||
{
|
||||
case LineAnimation.None:
|
||||
_story?.Stop(this);
|
||||
@@ -76,14 +76,14 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
connector.ColorViewModel.FillColor.Color = Colors.Red;
|
||||
}
|
||||
PathAnimation(connector.ColorViewModel.LineAnimationDuration);
|
||||
PathAnimation(connector.AnimationViewModel.Duration);
|
||||
break;
|
||||
case LineAnimation.DashAnimation:
|
||||
if (connector.ColorViewModel.LineDashStyle == LineDashStyle.None)
|
||||
{
|
||||
connector.ColorViewModel.LineDashStyle = LineDashStyle.Dash1;
|
||||
}
|
||||
DashAnimation(connector.ColorViewModel.LineAnimationDuration);
|
||||
DashAnimation(connector.AnimationViewModel.Duration);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -128,11 +128,14 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
_story?.Stop(this);
|
||||
_story = new Storyboard();
|
||||
_story.RepeatBehavior = RepeatBehavior.Forever;
|
||||
//_story.RepeatBehavior = RepeatBehavior.Forever;
|
||||
//story.AutoReverse = true;
|
||||
_story.Children.Add(animationX);
|
||||
_story.Children.Add(animationY);
|
||||
_story.Children.Add(animationAngle);
|
||||
_story.Completed += (s, d) => {
|
||||
_story.Begin(this, true);
|
||||
};
|
||||
Storyboard.SetTargetName(animationX, "translate");
|
||||
Storyboard.SetTargetName(animationY, "translate");
|
||||
Storyboard.SetTargetName(animationAngle, "rotate");
|
||||
|
||||
Reference in New Issue
Block a user