如何对齐WPF Expander控件切换按钮

时间:2010-04-06 19:30:46

标签: wpf button controls toggle expander

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

1 个答案:

答案 0 :(得分:14)

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

接下来,找到包含2列的Grid,其中一列包含ToggleButton,另一列包含ContentPresenter。交换列,使切换位于第1列。然后更改列定义大小,使第一列为星号,第二列为大小20.完成后,模板中应该有一个块,如下所示: / p>

<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复制现有控件模板。