C# 隐藏WPF StackPanel(非扩展器)时出现问题

C# 隐藏WPF StackPanel(非扩展器)时出现问题,c#,wpf,animation,stackpanel,C#,Wpf,Animation,Stackpanel,我在使用WPFStackPanel时遇到了一个真正的问题-我需要将其设置为动画,不仅是为了水平滚动其内容(这或多或少是正常的),还必须通过按下包含窗口上的某个按钮使其展开/折叠(动画) 我尝试过很多动画扩展控件(例如),但它们的功能(以及一些包含控件的工件)过多,不适合我的任务 因此,问题是如何使简单的水平方向的StackPanel通过单击按钮以动画方式展开/折叠?为什么不为StackPanel的宽度添加一个故事板和双动画。通过单击按钮,您可以在代码中或通过定义事件触发器启动动画。最简单的方法是

我在使用WPF
StackPanel
时遇到了一个真正的问题-我需要将其设置为动画,不仅是为了水平滚动其内容(这或多或少是正常的),还必须通过按下包含窗口上的某个按钮使其展开/折叠(动画)

我尝试过很多动画扩展控件(例如),但它们的功能(以及一些包含控件的工件)过多,不适合我的任务


因此,问题是如何使简单的水平方向的
StackPanel
通过单击按钮以动画方式展开/折叠?

为什么不为StackPanel的宽度添加一个故事板和双动画。通过单击按钮,您可以在代码中或通过定义事件触发器启动动画。

最简单的方法是在
切换按钮上启动动画。选中
。未选中
事件:

<StackPanel x:Name="MyStackPanel">...</StackPanel>

...

<ToggleButton Content="Click Me">
    <ToggleButton.Triggers>
        <EventTrigger RoutedEvent="ToggleButton.Checked">
            <BeginStoryboard>
                <Storyboard>
                    <DoubleAnimation Storyboard.TargetName="MyStackPanel" 
                                     Storyboard.TargetProperty="Width"
                                     To="0"
                                     Duration="0:0:0.5" />
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger>
        <EventTrigger RoutedEvent="ToggleButton.Unchecked">
            <BeginStoryboard>
                <Storyboard>
                    <DoubleAnimation Storyboard.TargetName="MyStackPanel" 
                                     Storyboard.TargetProperty="Width"
                                     To="200"
                                     Duration="0:0:0.5" />
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger>
    </ToggleButton.Triggers>
</ToggleButton>
。。。
...

amm。。我是wpf动画的新手(YuoPlaese能提供一些代码吗?这只是一个例子)((您只能在按下按钮时添加一个事件。因此,最好使用复选框或类似的内容。您可以使用
切换按钮来代替
复选框,我已经更新了答案以反映这一点。如果解决了您的问题,请不要忘了将其标记为答案。单击按钮左侧的勾号图像答案是什么