【发布时间】:2009-01-27 21:00:06
【问题描述】:
我有一个包含很多内容的窗口。我希望能够使用面板分隔内容,并有一个分隔符,用户可以单击每个面板之间的切换(通过动画将分隔符从左向右移动,显示一个部分并隐藏另一个部分) .想想 Microsoft Office (2007) navigation pane。有没有简单的方法来实现这一点?
谢谢!
【问题讨论】:
标签: .net wpf user-interface accordion
我有一个包含很多内容的窗口。我希望能够使用面板分隔内容,并有一个分隔符,用户可以单击每个面板之间的切换(通过动画将分隔符从左向右移动,显示一个部分并隐藏另一个部分) .想想 Microsoft Office (2007) navigation pane。有没有简单的方法来实现这一点?
谢谢!
【问题讨论】:
标签: .net wpf user-interface accordion
我的 WPF 应用程序也需要这个,我发现最好的是 Silverlight 工具包中功能齐全的 Accordion 控件:
源代码在here 可用,现场演示here。移植到 WPF 可能很容易。 Ruurd Boeke 的5 part blog entry 对此进行了详细讨论。在part 4 中,他讨论了如何使用模板重新设计手风琴的样式以获得这种出色的手风琴外观:
(来源:sitechno.com)
(来源:sitechno.com)
【讨论】:
我使用扩展器。
<Expander Header="Items" IsExpanded="False">
...
</Expander>
【讨论】:
我认为您正在寻找的是“手风琴”控件,这是一篇关于如何从扩展器控件堆栈构建一个的帖子:
http://www.rooijakkers.net/Blog/post/2007/11/WPF-implementation-of-a-basic-Accordion-control.aspx
对于动画,请查看 http://j832.com/bagotricks/Kevin 的 bag-o-tricks 中的“Reveal”控件
我认为在示例项目中甚至还有一个基于 Reveal 控件的动画 Expander 控件模板。
【讨论】: