С WPF все возможно. ;) К сожалению, не все так просто. Ваша лучшая ставка здесь состоит в том, чтобы повторно шаблонировать расширитель. Начните с копирования шаблона по умолчанию Expander
, найденного здесь .
Затем найдите Grid
, который содержит 2 столбца, один из которых содержит ToggleButton
, а другой - ContentPresenter
. Поменяйте местами столбцы, чтобы переключатель находился в столбце 1. Затем измените размеры определения столбца, чтобы первый столбец был размером со звезду, а второй - размером 20. По завершении у вас должен быть фрагмент в шаблоне, который выглядит так: 1009 *
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="20" />
</Grid.ColumnDefinitions>
<ToggleButton Grid.Column="1"
IsChecked="{Binding Path=IsExpanded,Mode=TwoWay,
RelativeSource={RelativeSource TemplatedParent}}"
OverridesDefaultStyle="True"
Template="{StaticResource ExpanderToggleButton}"
Background="{StaticResource NormalBrush}" />
<ContentPresenter Margin="4"
ContentSource="Header"
RecognizesAccessKey="True" />
</Grid>
Продолжайте изменять шаблон до тех пор, пока не получите нужный внешний вид.
РЕДАКТИРОВАТЬ : Шаблон, предоставленный в MSDN, является базовой версией "настоящего" шаблона расширителя. Если вы хотите стилизованный шаблон расширения, используйте Expression Blend и скопируйте существующий шаблон элемента управления с Expander
.