Bir WPF projesinde bir balık resmim var (arkada VB.net kodu) ve iki dönüşüm kullanarak ileri geri yüzmeyi denemeye çalışıyorum.GroupTransform'da Trouble Animasyon Dönüşümleri
Bazı nedenlerden ötürü, ScaleTransformu yalnızca canlandırıyorsam (yalnızca ScaleTransform ile ve TransformGroup olmadan), animasyon iyi çalışıyorsa, TranslateTransform animasyonu çalışmıyor. Ayrıca, ScaleTransform TransformGroup içinde çalışırken çalışmaz.
Kullandığım kod İşte. Neyi yanlış yapıyorum?
<Image Height="90" HorizontalAlignment="Left" Name="Fish1" Stretch="Fill" VerticalAlignment="Top" Width="260" Source="/VBP-WORD4WORD;component/Images/IMG-FISH1.png" Canvas.Left="24" Canvas.Top="67" Margin="-28,70,0,0">
<Image.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="1"/>
<TranslateTransform X="0"/>
</TransformGroup>
</Image.RenderTransform>
<Image.Triggers>
<EventTrigger RoutedEvent="Image.Loaded">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimationUsingKeyFrames Duration="0:0:30" Storyboard.TargetProperty="RenderTransform.(TransformGroup.TranslateTransform.X)" RepeatBehavior="Forever">
<LinearDoubleKeyFrame KeyTime="0:0:0" Value="0"/>
<LinearDoubleKeyFrame KeyTime="0:0:14.9" Value="407"/>
<LinearDoubleKeyFrame KeyTime="0:0:15" Value="680"/>
<LinearDoubleKeyFrame KeyTime="0:0:29.9" Value="265"/>
<LinearDoubleKeyFrame KeyTime="0:0:30" Value="0"/>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Duration="0:0:30" Storyboard.TargetProperty="RenderTransform.(TransformGroup.ScaleTransform.ScaleX)" RepeatBehavior="Forever">
<LinearDoubleKeyFrame KeyTime="0:0:14.9" Value="1"/>
<LinearDoubleKeyFrame KeyTime="0:0:15" Value="-1"/>
<LinearDoubleKeyFrame KeyTime="0:0:29.9" Value="-1"/>
<LinearDoubleKeyFrame KeyTime="0:0:30" Value="1"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
</Image.Triggers>
</Image>
İlk yöntem çalışmıyor. İkincisi. – CodeMouse92
Benim için çalıştı, farklı bir şey yapmış olmalısınız, örneğin 'x: Name' yerine 'Name' kullanılmalı ya da özellik yolunu doğru ayarlamamış olmalısınız (iki animasyonun sırasını sırayla aynı olacak şekilde değiştirdim Bu arada TransformGroup) –
Ah, x: Sebebi olurdu. Her iki şekilde de, şimdi çalışıyor. İki harika çözüm sağlamak için oylama. : 3 – CodeMouse92