wpf 实现窗口淡入

利用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>   

来实现淡出的效果,但是一运行就出错。不知道为何,高手指点。

posted on 2011-10-28 15:18  xiaxia—博客园  阅读(2351)  评论(5编辑  收藏  举报

导航