Expander
звучит как подходящий вариант для вашей ситуации.К счастью, он поставляется с WPF из коробки, в отличие от элемента управления Accordion.Но я нашел этот вопрос, связанный с Accordion control , и подумал, что вам было бы полезно проверить.
Чтобы изменить внешний вид кнопки-переключателя Expander
, вы захотитеизменить шаблон управления .Изменение шаблона для отображения плюса или минуса вместо стрелок не слишком сложно.Если вы перейдете по ссылке, то увидите, что захотите изменить ExpanderToggleButton
часть шаблона.
Поскольку вы просто хотите перейти от использования стрелок к знакам плюс / минус, вы можете простоизмените данные Path
для свернутой / развернутой стрелки.Вы можете посмотреть здесь для получения дополнительной информации о рисовании простых фигур с путем.
Здесь является примером того, как кто-то изменил шаблон управления Expander
.Это для другого твика по внешнему виду, но это должно быть полезно, если вы решите пойти по этому маршруту.
РЕДАКТИРОВАТЬ:
Действительно простой пример(без изменения внешнего вида ToggleButton), чтобы получить представление о том, как сжимать и сохранять недвижимость:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColunmDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Expander Name="Section1" Grid.RowSpan="2" Grid.Colunm="0" ExpandDirection="Left">
<!-- Stuff goes here -->
</Expander>
<Expander Name="Section2" Grid.RowSpan="0" Grid.Colunm="1"
<!-- Stuff goes here -->
</Expander>
<Expander Name="Section3" Grid.RowSpan="1" Grid.Colunm="0"
<!-- Stuff goes here -->
</Expander>
</Grid>