Привет я задавался вопросом, действительно ли возможно выровнять выключатель на управлении расширителем WPF справа сторона?
С WPF все возможно. ;) К сожалению не все просто.Лучше всего изменить шаблон расширителя. Начните с копирования шаблона Expander
по умолчанию, который можно найти здесь .
Затем найдите сетку
, которая содержит 2 столбца, один из которых содержит ToggleButton
, а другой - ContentPresenter
. Поменяйте местами столбцы так, чтобы переключатель находился в столбце 1. Затем измените размеры определения столбца так, чтобы первый столбец имел размер звезды, а второй - размер 20. По завершении у вас должен быть фрагмент в шаблоне, который выглядит следующим образом:
<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
.