【发布时间】:2011-08-22 22:39:59
【问题描述】:
我目前正在开发一个 wpf c# 应用程序。我已将事件触发器添加到表单的 xaml 中以在窗口加载时淡入并在窗口关闭时淡出。
淡入完美,没有任何问题,但淡出不起作用。
我已经设置好了,窗口在加载时淡入,有一个持续 5 秒的计时器,然后调用表单淡出事件。
但是,窗口不会淡出,它只是立即关闭,没有动画。下面是我的淡入淡出事件代码
<Window.Triggers>
<EventTrigger RoutedEvent="Window.Loaded">
<BeginStoryboard>
<Storyboard Name="FormFade">
<DoubleAnimation Name="FormFadeAnimation"
Storyboard.TargetProperty="(Window.Opacity)"
From="0.0" To="1.0" Duration="0:0:1"
AutoReverse="False" RepeatBehavior="1x" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="Window.Unloaded">
<BeginStoryboard>
<Storyboard Name="FormFadeOut" Completed="FormFadeOut_Completed">
<DoubleAnimation Name="FormFadeOutAnimation"
Storyboard.TargetName="FormFadeOut"
Storyboard.TargetProperty="(Window.Opacity)"
From="1.0" To="0.0" Duration="0:0:1"
AutoReverse="False" RepeatBehavior="1x" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Window.Triggers>
感谢您提供的任何帮助。
【问题讨论】:
-
只是上面的注释:分层 Windows
(WindowStyle=None, AllowsTransparency=True, Background=Transparent)可以在 Windows Vista 或更高版本上进行硬件渲染,并且在其淡出时将避免黑色矩形。
标签: c# wpf xaml animation window