使用WPF,如何设置Window的位置动画。我试图简单地为Left / Top属性设置动画,但它不起作用。有人知道吗?
谢谢!
答案 0 :(得分: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>
答案 1 :(得分: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>
答案 2 :(得分:0)
也许你可以尝试使用Expression Blend为它添加一个StoryBoard。 您可以控制在Blend中更改Window属性的TimeLine,只需激活.cs代码中的动画。