2009-04-16 15 views
5

Con WPF, ¿cómo puedo animar la posición de una ventana. Intenté simplemente animar las propiedades Izquierda/Superior, pero no funcionó. ¿Alguien sabe cómo?Cómo animar una ventana?

Gracias!

Respuesta

9

Simplemente crea un guión gráfico para la ventana que estás intentando animar.

He aquí un ejemplo de una ventana w1 llamado:

<Window.Triggers> 
    <EventTrigger RoutedEvent="Window.Loaded"> 
    <EventTrigger.Actions> 
     <BeginStoryboard> 
     <Storyboard BeginTime="0" Duration="Forever"> 
      <DoubleAnimation Storyboard.TargetName="w1" Storyboard.TargetProperty="(Window.Top)" From="0" To="300" AutoReverse="true" BeginTime="0:0:0" Duration="0:0:1" RepeatBehavior="Forever"/> 
      <DoubleAnimation Storyboard.TargetName="w1" Storyboard.TargetProperty="(Window.Left)" From="0" To="400" AutoReverse="true" BeginTime="0:0:0" Duration="0:0:2" RepeatBehavior="Forever"/> 
     </Storyboard> 
     </BeginStoryboard> 
    </EventTrigger.Actions> 
    </EventTrigger> 
</Window.Triggers> 
0

Quizás pueda intentar agregarle una StoryBoard utilizando Expression Blend. Puede controlar la línea de tiempo de cambiar la propiedad de la ventana en la mezcla y simplemente activar la animación en el código .cs.

7

Esto va a hacer efecto de fundido, mientras que la ventana está apareciendo:

<Window.Triggers> 
    <EventTrigger RoutedEvent="Loaded"> 
     <BeginStoryboard> 
      <Storyboard Duration="00:00:3" Storyboard.TargetProperty="Opacity"> 
       <DoubleAnimation From="0" To="1"/> 
      </Storyboard> 
     </BeginStoryboard> 
    </EventTrigger> 
</Window.Triggers> 
Cuestiones relacionadas