线条动画支持大小切换

This commit is contained in:
艾竹
2023-04-29 18:36:50 +08:00
parent f4268b9fc2
commit 4a3f278a97
30 changed files with 1095 additions and 317 deletions

View File

@@ -106,10 +106,10 @@
<Path x:Name="ball"
Stretch="Fill"
Data="{Binding AnimationViewModel.Path}"
Fill="{Binding ColorViewModel.FillColor,Converter={StaticResource ColorBrushConverter}}"
Width="{Binding ColorViewModel.LineWidth,Converter={StaticResource MathAddConverter},ConverterParameter=4}"
Height="{Binding ColorViewModel.LineWidth,Converter={StaticResource MathAddConverter},ConverterParameter=4}"
Data="{Binding AnimationViewModel.AnimationPath.Path}"
Fill="{Binding AnimationViewModel.Color,Converter={StaticResource ColorBrushConverter}}"
Width="{Binding AnimationViewModel.AnimationPath.Width}"
Height="{Binding ColorViewModel.AnimationPath.Height}"
Panel.ZIndex="1" />
</Canvas>
</Grid>

View File

@@ -30,16 +30,16 @@ namespace AIStudio.Wpf.DiagramDesigner
private void LineControl_Unloaded(object sender, RoutedEventArgs e)
{
if (this.DataContext is ConnectionViewModel connector && connector.ColorViewModel != null)
if (this.DataContext is ConnectionViewModel connector && connector.AnimationViewModel != null)
{
connector.ColorViewModel.PropertyChanged -= Connector_PropertyChanged;
connector.AnimationViewModel.PropertyChanged -= Connector_PropertyChanged;
}
_story?.Stop();
}
private async void PathAnimation_Loaded(object sender, RoutedEventArgs e)
{
if (this.DataContext is ConnectionViewModel connector && connector.ColorViewModel != null)
if (this.DataContext is ConnectionViewModel connector && connector.AnimationViewModel != null)
{
connector.AnimationViewModel.PropertyChanged -= Connector_PropertyChanged;
connector.AnimationViewModel.PropertyChanged += Connector_PropertyChanged;
@@ -52,7 +52,7 @@ namespace AIStudio.Wpf.DiagramDesigner
{
switch (e.PropertyName)
{
case nameof(AnimationViewModel.LineAnimation):
case nameof(AnimationViewModel.Animation):
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.AnimationViewModel.LineAnimation)
switch (connector.AnimationViewModel.Animation)
{
case LineAnimation.None:
_story?.Stop(this);