wpf - 如何对齐WPF扩展器控件切换按钮

标签 wpf button controls toggle expander

嗨,我想知道是否可以将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/

相关文章:

wpf - 在 UserControl 上绑定(bind)依赖属性的问题

wpf - Windows 8 XAML 多列文本

c# - 在 WPF 3D 中可视化世界系统的坐标轴

android - 使按钮透明Android?

c++ - 如何在 Windows C++ CLR 中跟踪数千个绘制的形状

c# - 将枚举值绑定(bind)到标签 XAML

css font-weight 属性不适用于按钮

python - 为什么我检查井字游戏获胜者的方法不起作用?

c# - 在 C# 中使用 WebBrowser 控件提交网页表单

android - 视频控件默认位于设备底部