繁体   English   中英

WPF DataTrigger和EventTrigger的组合无法正常工作

[英]Combination of WPF DataTrigger and EventTrigger isn't working

我对我的代码有一个小疑问:

<Style TargetType="{x:Type Grid}">
    <Setter Property="Visibility" Value="Collapsed"/>
    <Style.Triggers>
        <DataTrigger Binding="{Binding Status.IsObjectSaving}" Value="True">
            <Setter Property="Visibility" Value="Visible"/>
        </DataTrigger>
        <Trigger Property="Visibility" Value="Visible">
            <Trigger.EnterActions>
                <BeginStoryboard>
                    <Storyboard>
                        <DoubleAnimation
                            Storyboard.TargetProperty   = "Opacity"
                            From                        ="1"
                            To                          = "0"
                            BeginTime                   = "0:0:0"
                            Duration                    = "0:0:2" />
                        <ObjectAnimationUsingKeyFrames
                            Storyboard.TargetProperty   = "Visibility">
                        <DiscreteObjectKeyFrame KeyTime="0:0:2"
                            Value="{x:Static Visibility.Collapsed}" />
                        </ObjectAnimationUsingKeyFrames>
                    </Storyboard>
                </BeginStoryboard>
            </Trigger.EnterActions>
        </Trigger>
    </Style.Triggers>
</Style>

当我的对象将被保存,因此网格应打开并显示一些信息。 当我第一次启动该程序时,它可以工作,但是第二次它不起作用。 所以我希望你能帮助我。

谢谢丹尼尔

ps对不起,我的英语太糟糕了!


谢谢回答! 我尝试使用以下代码设置值:

<DataTrigger Binding="{Binding Status.IsObjectSaving}" Value="True">
    <DataTrigger.EnterActions>
        <BeginStoryboard>
            <Storyboard>
                <DoubleAnimation
                    Storyboard.TargetProperty   = "Opacity"
                    From                        = "0"
                    To                          = "1"
                    BeginTime                   = "0:0:0"
                    Duration                    = "0:0:2" />
                <ObjectAnimationUsingKeyFrames
                    Storyboard.TargetProperty   = "Visibility">
                    <DiscreteObjectKeyFrame KeyTime="0:0:2"
                        Value="{x:Static Visibility.Visible}" />
                </ObjectAnimationUsingKeyFrames>
            </Storyboard>
        </BeginStoryboard>
    </DataTrigger.EnterActions>
    <DataTrigger.ExitActions>
        <BeginStoryboard>
            <Storyboard>
                <DoubleAnimation
                    Storyboard.TargetProperty   = "Opacity"
                    From                        = "1"
                    To                          = "0"
                    BeginTime                   = "0:0:2"
                    Duration                    = "0:0:2" />
                <ObjectAnimationUsingKeyFrames
                    Storyboard.TargetProperty   = "Visibility">
                    <DiscreteObjectKeyFrame KeyTime="0:0:2"
                        Value="{x:Static Visibility.Collapsed}" />
                </ObjectAnimationUsingKeyFrames>
            </Storyboard>
        </BeginStoryboard>
    </DataTrigger.ExitActions>
</DataTrigger>

但这不起作用。 那么,您可以帮助我以正确的方式修改代码吗?

谢谢

丹尼尔

动画会更改优先级更高的值,一旦以这种方式更改了可见性,触发器将无法对其进行修改。 您可以用动画(输入和退出操作)替换设置器,这样它们就具有相同的优先级。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM