2009-04-16 3 views
5

С WPF, как мне анимировать положение окна. Я попытался просто оживить свойства Left/Top, но это не сработало. Кто-нибудь знает, как это сделать?Как анимировать окно?

Спасибо!

ответ

9

Просто создайте раскадровку для окна, которое вы пытаетесь оживить.

Вот пример для окна с именем w1:

<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

Возможно, вы можете попробовать добавить StoryBoard к нему с помощью Expression Blend. Вы можете управлять TimeLine изменением свойства Window в Blend и просто активировать анимацию в коде .cs.

7

Это сделает выцветанию эффект в то время как окно появляется:

<Window.Triggers> 
    <EventTrigger RoutedEvent="Loaded"> 
     <BeginStoryboard> 
      <Storyboard Duration="00:00:3" Storyboard.TargetProperty="Opacity"> 
       <DoubleAnimation From="0" To="1"/> 
      </Storyboard> 
     </BeginStoryboard> 
    </EventTrigger> 
</Window.Triggers> 
Смежные вопросы