关于动画:WPF使用扩展器隐藏网格行

WPF hide Grid Row with an Expander

在我的应用中,它有一个网格行,其中只有一个扩展器。我想要的是此Grid / Expander在扩展器扩展时显示,而在不扩展时隐藏。我计算出将扩展器的高度设置为0并将Grid的高度设置为行可以解决此问题。问题是完成此操作后,扩展器将不再扩展。

感谢您的帮助

编辑:感谢@Blam,他解决了这个问题;

1
2
3
4
5
6
7
8
9
10
<Expander.Style>
<Style TargetType="Expander">
    <Setter Property="Visibility" Value="Collapsed"/>
    <Style.Triggers>
        <Trigger Property="IsExpanded" Value="True">
            <Setter Property="Visibility" Value="Visible"/>
        </Trigger>
    </Style.Triggers>
</Style>
</Expander.Style>

尽管确实导致了另一个次要问题的发生。扩展动画显示时,我在扩展器上有一个动画。虽然在折叠时动画没有。我假设可见性属性立即生效,因此没有时间播放动画。

是否可以延迟此属性?


将扩展器可见性设置为已折叠

我会尝试将可视性放入Expander Collapsed事件中