【问题标题】:Set visibility with a trigger使用触发器设置可见性
【发布时间】:2011-10-23 07:58:27
【问题描述】:

我只想启动一个故事板,当用户用鼠标左键按下时,它使一个矩形可见 2 秒。但我无法解决如何获取可见性值。

<Grid.Triggers>
            <EventTrigger RoutedEvent="MouseDown"  >
                <EventTrigger.Actions>
                    <BeginStoryboard>
                        <Storyboard>
                            <DoubleAnimationUsingKeyFrames BeginTime="0:0:0" Duration="0:0:2" Storyboard.TargetName="RectFront" Storyboard.TargetProperty="Visibility">
                                <LinearDoubleKeyFrame KeyTime="0:0:0.100" Value="1" />
                                <LinearDoubleKeyFrame KeyTime="0:0:2" Value="0" /> <---   HOW to change this into Visibility Type?
                            </DoubleAnimationUsingKeyFrames>

                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger.Actions>
            </EventTrigger>
        </Grid.Triggers>

【问题讨论】:

    标签: .net wpf triggers visibility storyboard


    【解决方案1】:

    例如:

    Value="{x:Static Visibility.Hidden}"
    

    但在某些情况下,XAML 解析器也可以转换像 Value="Hidden" 这样的普通字符串。

    这里的一个问题是,虽然您不能使用 DoubleAnimationUsingKeyFrames 为可见性设置动画,但它必须是 ObjectAnimationUsingKeyFrames

    如果您想逐渐为可见性设置动画,您可以使用DoubleAnimation(带或不带关键帧),但您需要改为定位Opacity

    【讨论】:

    • 感谢 H.B 的快速回答。使用 objectKeyFrames 它可以工作,也可以像您在示例中那样使用静态方法。很棒
    猜你喜欢
    • 2016-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-23
    • 1970-01-01
    • 1970-01-01
    • 2010-10-29
    • 1970-01-01
    相关资源
    最近更新 更多