Я хочу воспроизвести поведение, аналогичное панели 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 работает во время загрузки, но когда я выбираю элементы, элемент управления работает не так, как ожидалось.
Есть идеи?