【问题标题】:Can you define an storyboard to play out, before a property changes?你能在属性改变之前定义一个故事板来播放吗?
【发布时间】:2010-11-02 09:45:31
【问题描述】:

例如,我正在为某个元素设置可见性。我有一个触发器,它监听 Visibility 设置为 Visible 并播放一个在元素中淡入淡出的情节提要。

所以另一方面,当元素设置为隐藏时,我希望元素淡出,然后将属性设置为 Visibility = false。这可能吗?如果可以,怎么办?目前我有类似的东西:

    <Style.Triggers>
        <Trigger Property="Visibility" Value="Visible">
            <Trigger.EnterActions>
                <BeginStoryboard>
                    <Storyboard>
                        <DoubleAnimation Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="0:0:0.5" />
                    </Storyboard>
                </BeginStoryboard>
            </Trigger.EnterActions>
            <Trigger.ExitActions>
                <BeginStoryboard>
                    <Storyboard>
                        <DoubleAnimation Storyboard.TargetProperty="Opacity" From="1" To="0" Duration="0:0:0.5" />
                    </Storyboard>
                </BeginStoryboard>
            </Trigger.ExitActions>
        </Trigger>
    </Style.Triggers>

【问题讨论】:

    标签: wpf xaml triggers storyboard


    【解决方案1】:

    还有更多的Trigger类让人眼前一亮。也许你可以使用另一个触发器来实现你想做的事情。

    来自 MSDN:

    有几种不同的类型 触发器:TriggerMultiTriggerEventTriggerDataTriggerMultiDataTrigger.

    也许使用 DataTrigger 绑定到状态属性,告诉 UI 正在发生变化?或者您可以尝试使用自定义事件和 EventTrigger 来实现相同的目的?只是一些想法..

    【讨论】:

      猜你喜欢
      • 2018-06-05
      • 1970-01-01
      • 2012-07-04
      • 1970-01-01
      • 2010-10-22
      • 2016-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多