嗨,我想知道是否可以将WPF扩展器控件上的切换按钮对齐到最右侧?
最佳答案
使用WPF,一切皆有可能。 ;)不幸的是,并非所有事情都很简单。您最好的选择是重新设计扩展器的模板。首先,复制默认的Expander
模板here。
接下来,找到包含2列的Grid
,一列包含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
复制现有控件模板。
关于wpf - 如何对齐WPF扩展器控件切换按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2587683/