Diskuze: Proč tato animace nefunguje ?
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 4 zpráv z 4.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Rendertransform samo o sobě nemá vlastnost Angle. Nejdříve musíš definovat v XAML něco jako
<Image.RenderTransform>
<RotateTransform x:Name="rotTransf"/>
</Image.RenderTransform>
a potom to bude
Storyboard.SetTarget(da, rotAngle);
Storyboard.SetTargetProperty(da, new PropertyPath("Angle"))
Tak jsem udělal menší úpravu. Chyba se sice již nezobrazí, ale obrázek
se nezačne otáčet.
XAML
<Image Source="Resources/Pictures/sword.png" Margin="209,67,296,172" RenderTransformOrigin="0.5,0.87" Name="swordPlayerLeft" Visibility="Visible">
<Image.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle="35.053" x:Name="swordPlayerLeftAngle"/>
<TranslateTransform X="-22.311" Y="-7.039"/>
</TransformGroup>
</Image.RenderTransform>
</Image>
c#
DoubleAnimation da = new DoubleAnimation();
da.From = 30;
da.To = 81;
da.Duration = new Duration(TimeSpan.FromSeconds(15));
Storyboard storyboard = new Storyboard();
storyboard.Children.Add(da);
Storyboard.SetTarget(da, mW.swordPlayerLeftAngle);
Storyboard.SetTargetProperty(da, new PropertyPath("Angle"));
storyboard.Begin();
Zkus tohle.
XAML
<Image x:Name="img" HorizontalAlignment="Center" Height="100" VerticalAlignment="Center" Width="100">
<Image.RenderTransform>
<RotateTransform Angle="30"/>
</Image.RenderTransform>
</Image>
c#
var rotateAnimation = new DoubleAnimation(30, 81, TimeSpan.FromSeconds(15));
var rt = (RotateTransform)img.RenderTransform;
rt.BeginAnimation(RotateTransform.AngleProperty, rotateAnimation);
Zobrazeno 4 zpráv z 4.