6

嗨,我想知道是否可以将 WPF 扩展器控件上的切换按钮对齐到最右侧?

4

1 回答 1

15

有了 WPF,一切皆有可能。;) 不幸的是,并非所有事情都很简单。您最好的选择是重新模板扩展器。首先复制默认Expander模板,在此处找到。

接下来,找到Grid包含 2 列的 ,一列包含 a ToggleButton,另一列包含 a 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.

于 2010-04-06T20:23:02.623 回答