如何为窗口设置动画?

Mar*_*tin 5 wpf animation c#-3.0

使用WPF,如何设置Window的位置动画.我试图简单地为Left/Top属性设置动画,但它不起作用.有人知道吗?

谢谢!

gco*_*res 9

只需为您尝试制作动画的窗口创建一个Storyboard.

这是一个名为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>
Run Code Online (Sandbox Code Playgroud)


Nal*_*ran 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>
Run Code Online (Sandbox Code Playgroud)