利用wpf的动画功能实现窗口的淡入。
app.xaml
<Application x:Class="EnergeMonitorEVK.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" StartupUri="MainWindow.xaml"> <Application.Resources> <Style x:Key="windowOpacity" TargetType="{x:Type Window}"> <Style.Triggers> <EventTrigger RoutedEvent="Window.Loaded"> <BeginStoryboard> <Storyboard> <DoubleAnimation Storyboard.TargetProperty="Opacity" From="0.0" To="1.0" Duration="0:0:1"/> </Storyboard> </BeginStoryboard> </EventTrigger> </Style.Triggers> </Style>
</Application.Resources> </Application>
然后在你的window的xaml代码中添加如下代码
Style="{StaticResource windowOpacity}"
在窗口启动的时候就可以看到淡入的效果。在上述代码中的 Duration="0:0:1"表示代码持续时间为1秒,如果需要调整,自己修改。
我想在Style.Triggers中添加如下代码:
<EventTrigger RoutedEvent="Window.Closing"> <BeginStoryboard> <Storyboard> <DoubleAnimation Storyboard.TargetProperty="Opacity" From="1.0" To="0.0" Duration="0:0:1" /> </Storyboard> </BeginStoryboard> </EventTrigger>
来实现淡出的效果,但是一运行就出错。不知道为何,高手指点。