2016-06-01 9 views
0

Ich habe ein ImageViewModel, die Ansicht besteht aus einem Symbol. Wenn ich die Instanz von ViewModel erzeuge und wenn die Ansicht geladen wird, möchte ich das Bild animieren, um es nach unten zu bewegen. Wie geht das?Animieren von Image in MVVM beim Start

<Image x:Name="TestImage" Width="75" Height="75" Source="pack://application:,,,/TestProject.View;Component/Resources/TestImage.png">  
    </Image> 
+0

Vielleicht [Antwort] (http://stackoverflow.com/a/5971753/4377809) können Sie helfen –

Antwort

0

Dies ist, wie ich es behoben.Ich legte mein Bild in eine Leinwand. Auf userControl Loaded-Ereignis wird ein UserControl.Loaded-Ereignis ausgelöst, das mein Storyboard startet.

<Canvas DataContext="{Binding}" HorizontalAlignment="Left" VerticalAlignment="Top"> 
    <Canvas.Triggers> 
     <EventTrigger RoutedEvent="UserControl.Loaded"> 
      <BeginStoryboard > 
       <Storyboard Storyboard.TargetName="Image1" Storyboard.TargetProperty="(Canvas.Top)">       
        <DoubleAnimation From="0" To="50" Duration="0:0:2" /> 
       </Storyboard> 
      </BeginStoryboard> 
     </EventTrigger> 
    </Canvas.Triggers> 
    <Image x:Name="Image1" Grid.Row="1" Width="170" Height="192" Source="{Binding ImageSource}">    
    </Image> 
</Canvas > 
+0

Sie brauchen nicht eine Leinwand zu verwenden, können Sie einfach das Bild verwenden und die Marge ändern stattdessen für ein ähnliches Ergebnis. – ManIkWeet