WPF XAML网格可见性触发器

WPF XAML网格可见性触发器,wpf,xaml,animation,triggers,visibility,Wpf,Xaml,Animation,Triggers,Visibility,我在网格的第一行上有一条状态消息,我希望它在可见性改变时滑入滑出。 第一个可见性触发器工作正常,可以快速打开第一个网格行。我一加上“崩溃”触发器,就什么都不起作用了。当可见性设置为“折叠”时,如何反转动画以滑动关闭 <Grid Grid.Row="0" Height="55" Visibility="{Binding StatusMessageVisibility, Mode=TwoWay}"> <Grid.Style> <Style Tar

我在网格的第一行上有一条状态消息,我希望它在可见性改变时滑入滑出。
第一个可见性触发器工作正常,可以快速打开第一个网格行。我一加上“崩溃”触发器,就什么都不起作用了。当可见性设置为“折叠”时,如何反转动画以滑动关闭

<Grid Grid.Row="0" Height="55" Visibility="{Binding StatusMessageVisibility, Mode=TwoWay}">
    <Grid.Style>
        <Style TargetType="Grid">
            <Style.Triggers>
                <Trigger Property="Visibility" Value="Visible">
                    <Trigger.EnterActions>
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation Storyboard.TargetProperty="Height" From="0" To="55" Duration="0:0:.1" />
                            </Storyboard>
                        </BeginStoryboard>
                    </Trigger.EnterActions>
                </Trigger>
                <Trigger Property="Visibility" Value="Collapsed">
                    <Trigger.EnterActions>
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation Storyboard.TargetProperty="Height" From="55" To="0" Duration="0:0:.1" />
                            </Storyboard>
                        </BeginStoryboard>
                    </Trigger.EnterActions>
                </Trigger>                        
            </Style.Triggers>
        </Style>
    </Grid.Style>
    <TextBlock Text="Hi There" />
</Grid>

您应该删除网格中的
可见性
绑定,并使用绑定到
StatusMessageVisibility
属性的
数据触发器
。如果绑定栅格的可见性,则一旦栅格折叠,它就会折叠,您将无法看到动画

另外,对于折叠状态,不要使用两个带有
entreactions
的数据触发器,而是使用一个带有
ExitAction
的数据触发器:



在我的情况下,默认情况下网格必须折叠,但如果我从网格中删除绑定,它要么始终可见,要么始终折叠,这取决于我在网格上初始化可见性的方式,并且datatriggers从不启动。看起来datatrigger不更新网格可见性。我能做什么?看起来datatrigger不更新网格可见性