【发布时间】:2010-04-06 19:30:45
【问题描述】:
您好,我想知道是否可以将 WPF 扩展器控件上的切换按钮对齐到最右侧?
【问题讨论】:
-
当下面提供的链接中有一个简单的过程时,为什么你必须做这么长的过程。 stackoverflow.com/questions/9288342/…
标签: wpf button controls toggle expander
您好,我想知道是否可以将 WPF 扩展器控件上的切换按钮对齐到最右侧?
【问题讨论】:
标签: wpf button controls toggle expander
有了 WPF,一切皆有可能。 ;) 不幸的是,并非所有事情都很简单。您最好的选择是重新模板扩展器。首先复制默认的Expander 模板,找到here。
接下来,找到包含两列的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 复制现有的控件模板。
【讨论】: