Animation WPF:扩展器堆叠在彼此的顶部,其中一个扩展器应展开并占据所有剩余空间

Animation WPF:扩展器堆叠在彼此的顶部,其中一个扩展器应展开并占据所有剩余空间,animation,stackpanel,expander,items,dockpanel,Animation,Stackpanel,Expander,Items,Dockpanel,我认为这是一个非常有名的控件,但我在web上找不到WPF示例/博客。我需要的是像StackPanel一样堆叠在彼此顶部的Expander WPF控件集合。不同的是,默认情况下,扩展器应该折叠,一旦其中一个扩展器展开,它应该占用所有剩余的空间。如果扩展扩展器位于堆栈的中间,则应将其下方的项目一直向下推至父元素的底部边缘。每个展开/折叠动作都应设置动画 StackPanel作为扩展器的父面板在这里是不可能的,因为它不能将“所有剩余空间”提供给它的子面板(ren)。DockPanel部分地做到了这一点

我认为这是一个非常有名的控件,但我在web上找不到WPF示例/博客。我需要的是像StackPanel一样堆叠在彼此顶部的Expander WPF控件集合。不同的是,默认情况下,扩展器应该折叠,一旦其中一个扩展器展开,它应该占用所有剩余的空间。如果扩展扩展器位于堆栈的中间,则应将其下方的项目一直向下推至父元素的底部边缘。每个展开/折叠动作都应设置动画

StackPanel作为扩展器的父面板在这里是不可能的,因为它不能将“所有剩余空间”提供给它的子面板(ren)。DockPanel部分地做到了这一点,但它只能为“最后一个孩子”做到这一点,我需要能够为任何孩子做到这一点


那么,实现这一点的最佳方法是什么呢?

回答我的问题,我刚刚发现像这样的控件被称为手风琴。有两个在线实现,但我认为最完整的是WPF工具包