【问题标题】:Should WPFToolkit Accordion "Stretch" VerticalAlignment be respected by AccordionItems?WPFToolkit Accordion “Stretch” VerticalAlignment 是否应该受到 AccordionItems 的尊重?
【发布时间】:2012-03-06 04:56:18
【问题描述】:

我想重现类似于 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 行为似乎在加载时起作用,但是当我选择项目时,控件的行为与预期不符。

有什么想法吗?

【问题讨论】:

  • 我将您的确切代码复制到了一个新的 wpf 项目中。当我单击任何项​​目时,它会扩展以填充垂直空间(全蓝色)。你有一些代码隐藏或任何东西吗?
  • @Paul Hoenecke:我只是创建了一个新的 WPF 应用程序,并从 WPF 示例项目中复制了上面的代码。唯一可能不同的是我在同一个解决方案中构建 WPFToolkit 和 Controls.Layout.Toolkit dll。

标签: .net wpf accordion wpftoolkit


【解决方案1】:

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

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

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

这似乎解决了我的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-14
    • 1970-01-01
    • 2011-10-23
    • 1970-01-01
    • 2011-01-10
    • 1970-01-01
    • 2013-12-16
    • 1970-01-01
    相关资源
    最近更新 更多