是否有WPF控件可用于展开/折叠面板(动画)

时间:2009-01-27 21:00:06

标签: .net wpf user-interface accordion

我有一个内容很多的窗口。我希望能够使用面板分离内容,并有一个分隔符,用户可以单击每个面板之间的切换(使用动画从左到右移动分隔符,显示一个部分并隐藏另一个) 。想想Microsoft Office(2007)navigation pane。有没有一种简单的方法来实现这一目标?

谢谢!

3 个答案:

答案 0 :(得分:13)

我的WPF应用程序也需要这个,我发现的最好的是Silverlight Toolkit中功能齐全的Accordion控件:

alt text http://www.sitechno.com/Blog/ct.ashx?id=a7c3c2d9-9446-4236-bc6e-c436427002ff&url=http%3a%2f%2fwww.sitechno.com%2fBlog%2fcontent%2fbinary%2fWindowsLiveWriter%2fAccordionpart1_102BB%2fimage_2.png

源代码可用here和实时演示here。移植到WPF可能很容易。 Ruurd Boeke有一个5 part blog entry详细讨论它。在part 4中,他讨论了如何使用模板重新设计手风琴来获得手风琴的外观:

alt text
(来源:sitechno.com

alt text
(来源:sitechno.com

答案 1 :(得分:7)

我使用Expander。

<Expander Header="Items" IsExpanded="False">
    ...
</Expander>

答案 2 :(得分:6)

我认为你要找的是一个“Accordion”控件,这里是一个abotu的帖子,如何从一堆Expander控件中构建一个:

http://www.rooijakkers.net/Blog/post/2007/11/WPF-implementation-of-a-basic-Accordion-control.aspx

对于动画,请看看凯文在http://j832.com/bagotricks/

的行情中的“揭示”控制

我认为在示例项目中甚至还有基于Reveal控件的动画Expander控件模板。