如何创建“更多细节”控件

时间:2012-10-09 09:08:46

标签: c# wpf wpf-controls

您可以在WPF应用程序中推荐控制或简单的方法吗?我想要的是控制,它会在按下按钮时折叠并展开。如果它看起来像Win7默认的那样会很棒。

enter image description here

enter image description here

3 个答案:

答案 0 :(得分:3)

你在这里 - Expander。使用IsExpanded属性可以更改代码中Expander的内容可见性,或使用内置切换按钮以交互方式更改内容。

enter image description here

读取区域是Expander的标题,绿色区域是Expander的内容。 要实现相同的行为,还需要将Expander.ExpandDirection属性设置为Up值。

如果您想要展开动画,则需要在IsExpanded = true动画故事板上添加触发器。

答案 1 :(得分:0)

框架本身没有任何东西可以做到这一点,但很容易弯曲它。

您可以使用Reveal控件(来自Bag of Tricks),并在底栏中植入触发动画的切换按钮。

只需将控件复制/粘贴到解决方案中,然后像这样使用它:

<local:Revealer IsExpanded="{Binding DetailsShown}">
   <TextBlock Text="{Binding DetailInfoOne}" />
   ...
</local:Revealer>

然后在另一个位置(窗口的底部?)

<ToggleButton Content="More details" IsChecked="{Binding DetailsShown}" />

放置箭头按钮并将文本更改为“更少的细节”留给读者练习;)

答案 2 :(得分:0)

如何在堆栈面板中设置所有详细信息并将其放入Collapsed的可见性。按下按钮时,将其设置为可见。然后将摘要信息设置为折叠,反之亦然。

表单的大小必须设置为“自动”,以便根据内容进行更改。

希望有所帮助。