Должен ли WPFToolkit Accordion "Stretch" VerticalAlignment уважаться AccordionItems? - PullRequest
0 голосов
/ 15 февраля 2012

Я хочу воспроизвести поведение, аналогичное панели Outlook, и обнаружил элемент управления Accordion в WPFToolkit. Я создал тестовое приложение из примера приложения WPFToolkit (февраль 2010 г.) (ниже). У меня проблемы с пониманием поведения.

<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 голосов
/ 15 февраля 2012

После поиска немного больше о VerticalAlignment, я нашел сообщение , которое имеет решение:

Вы также можете установить для свойства Accordion SelectionSequence значение CollapseBeforeExpand.

Эта ошибка возникает из-за проблем синхронизации анимации расширения / свертывания каждого элемента аккордеона (когда расширение и свертывание происходят одновременно) с обновлением макета Аккордеона, который портит размер, доступный для расширения.

Кажется, это решает мою проблему.

...