我目前正在开发一个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>
感谢您能提供的任何帮助。
WindowStyle=None, AllowsTransparency=True, Background=Transparent
)可以在Windows Vista或更高版本上进行硬件渲染,并且在淡出时避免黑色矩形。 - AlexO