Как выровнять тумблер управления WPF Expander - PullRequest
5 голосов
/ 06 апреля 2010

Привет, мне было интересно, можно ли выровнять кнопку переключения на регуляторе расширения WPF по крайней правой стороне?

1 Ответ

14 голосов
/ 07 апреля 2010

С 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.

...