AccordionItems应该尊重WPFToolkit Accordion“Stretch”VerticalAlignment吗?

时间:2012-02-14 20:02:32

标签: .net wpf accordion wpftoolkit

我想重现类似于Outlook栏的行为,并找到了WPFToolkit的Accordion控件。我已经从WPFToolkit(2010年2月)示例应用程序(下面)创建了一个测试应用程序,我无法理解该行为。

<Window x:Class="AccordionTest.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:toolkit="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Layout.Toolkit"
    xmlns:system="clr-namespace:System;assembly=mscorlib"
    Title="MainWindow" Height="350" Width="525" Background="DimGray">
<Grid Background="Red">
    <toolkit:Accordion x:Name="acc" SelectionMode="One" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
        <toolkit:AccordionItem Content="item 1" Header="Item 1"  />
        <toolkit:AccordionItem Content="item 2" Header="Item 2" />
        <toolkit:AccordionItem Content="item 3" Header="Item 3" />
    </toolkit:Accordion>
</Grid>

我将VerticalAlignment设置为Stretch,而手风琴本身从表格的顶部延伸到底部 - 但手风琴项目却没有。最初第一个项目(“项目1”)被拉伸,但如果我然后选择其他项目,它们不会展开和拉伸以填充空间。

因此,Outlook行为似乎在加载时工作,但是当我选择项目时,控件的行为并不像预期的那样。

任何想法?

1 个答案:

答案 0 :(得分:0)

在搜索了有关VerticalAlignment的更多内容之后,我发现这个post有一个解决方案:

  

您还可以将Accordion SelectionSequence属性设置为CollapseBeforeExpand。

     

这个错误是由于每个手风琴项目的扩展/折叠动画的时间问题(当扩展和折叠同时发生时)与手风琴的布局更新,这会影响可用于扩展的大小。

这似乎解决了我的问题。