微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

WPF窗口fadeIn无效

如何解决WPF窗口fadeIn无效

| 我有以下代码
<Window.Background>
    <SolidColorBrush Opacity=\"0.7\" Color=\"White\" x:Name=\"BackgroundBrush\"></SolidColorBrush>
</Window.Background>
<Window.Triggers>
    <EventTrigger RoutedEvent=\"Loaded\">
        <EventTrigger.Enteractions>
            <BeginStoryboard>
                <Storyboard>
                    <DoubleAnimation Storyboard.TargetProperty=\"Opacity\" To=\"1\" Duration=\"0:0:5\" Storyboard.TargetName=\"BackgroundBrush\" From=\"0.7\">
                    </DoubleAnimation>
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger.Enteractions>
    </EventTrigger>
</Window.Triggers>
但是当显示窗口时什么也没有发生。为什么?     

解决方法

除了什么H.B.说,您需要将BeginStoryboard添加到EventTrigger.Actions集合中,而不是EnterActions集合中。所以这有效:
<Window.Background>
    <SolidColorBrush Opacity=\"0.7\" Color=\"White\" x:Name=\"BackgroundBrush\"></SolidColorBrush>
</Window.Background>
<Window.Triggers>
    <EventTrigger RoutedEvent=\"Loaded\">
        <EventTrigger.Actions>
            <BeginStoryboard>
                <Storyboard>
                    <DoubleAnimation Storyboard.TargetProperty=\"Opacity\" To=\"1\" Duration=\"0:0:5\" Storyboard.TargetName=\"BackgroundBrush\" From=\"0.7\">
                    </DoubleAnimation>
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger.Actions>
    </EventTrigger>
</Window.Triggers>
    ,您必须设置窗口本身而不是背景的不透明度的动画。 您需要将
AllowsTransparency
设置为
true
,这也需要将
WindowStyle
设置为
None
。 (您需要创建自己的标准窗口按钮)     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。