【问题标题】:Triggers and Animations触发器和动画
【发布时间】:2013-08-06 11:02:54
【问题描述】:

我必须关注 XAML

<Window.Style>
    <Style TargetType="{x:Type Window}">
        <Setter Property="Opacity" Value="0.8" />
        <Style.Triggers>
            <Trigger Property="IsMouseOver" Value="True">
                <Setter Property="Opacity" Value="1" />
            </Trigger>
            <EventTrigger RoutedEvent="FrameworkElement.Loaded">
                <BeginStoryboard>
                    <BeginStoryboard.Storyboard>
                        <Storyboard>
                            <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity">
                                <EasingDoubleKeyFrame KeyTime="0" Value="0" />
                                <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="0.8" />
                            </DoubleAnimationUsingKeyFrames>
                        </Storyboard>
                    </BeginStoryboard.Storyboard>
                </BeginStoryboard>
            </EventTrigger>
        </Style.Triggers>


    </Style>
</Window.Style>

当我有 EventTrigger 时,MouseOver 触发器不工作。没有 EventTrigger 工作正常。我怎样才能两者兼得?

【问题讨论】:

    标签: wpf xaml animation triggers


    【解决方案1】:

    动画将不透明度设置为最终值,您需要给它一个停止的 FillBehavior。

    <Window.Style>
            <Style TargetType="{x:Type Window}">
                <Setter Property="Opacity" Value="0.8" />
                <Style.Triggers>
                    <Trigger Property="IsMouseOver" Value="True">
                        <Setter Property="Opacity" Value="1" />
                    </Trigger>
                    <EventTrigger RoutedEvent="FrameworkElement.Loaded">
                        <BeginStoryboard>
                            <BeginStoryboard.Storyboard>
                                <Storyboard>
                                    <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" FillBehavior="Stop">
                                        <EasingDoubleKeyFrame KeyTime="0" Value="0" />
                                        <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="0.8" />
                                    </DoubleAnimationUsingKeyFrames>
                                </Storyboard>
                            </BeginStoryboard.Storyboard>
                        </BeginStoryboard>
                    </EventTrigger>
                </Style.Triggers>
    
    
            </Style>
        </Window.Style>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-06
      • 2014-10-09
      • 1970-01-01
      • 1970-01-01
      • 2021-05-17
      • 1970-01-01
      相关资源
      最近更新 更多