У меня есть простые графические изображения, которые я хотел бы преобразовать при инициируемых событиях. Преобразование означает изменение ширины или перемещение ее в другое положение.
Сейчас я использую элемент Image панели инструментов и анимации через раскадровку, например DoubleAnimation или ThicknessAnimation.
Однако возникают следующие проблемы:
- изображение мерцает при изменении ширины
- качество изображения различается, поддерживает ли WPF векторную графику?
Относительно 1. мой вопрос, должны ли использоваться другие анимации.
Итак, я попробовал Преобразование, см. Код:
<Image Height="150" HorizontalAlignment="Left" Margin="12,0,0,0" Name="image1" Stretch="Fill" VerticalAlignment="Top" Source="images/side_view.jpg" Width="1244">
<Image.RenderTransform>
<ScaleTransform x:Name="Minimize" ScaleX="1.0" ScaleY="1.0"/>
</Image.RenderTransform>
</Image>
<Button Content="Next Train" Height="23" HorizontalAlignment="Left" Margin="528,233,0,0" Name="btnNext" VerticalAlignment="Top" Width="75" />
<Grid.Triggers>
<EventTrigger RoutedEvent="Button.Click" SourceName="btnNext">
<BeginStoryboard>
<Storyboard TargetName="Minimize" TargetProperty="ScaleX">
<DoubleAnimation To="0.65" Duration="0:0:2"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
Работает так же, как анимация, которую я применил к ширине и размеру. Однако, это все еще мерцает! Есть ли разумные объяснения?