WPF 平面重复按钮(工具栏外观)

WPF Flat Repeat Button (ToolBar look)

我试图让 RepeatButton 的平面外观 w/o 覆盖 ControlTemplate。使用常规 Button 您可以执行以下操作(但不能使用 RepeatButton):

<Button BorderThickness="0" Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}">...

RepeatButtonButtonBase 有类似的东西吗?我假设不是,因为如果你把 RepeatButton 放在 ToolBar 中,它看起来并不平坦。

除了覆盖 ControlTemplate 之外,是否有更好的方法让 RepeatButton 看起来更平坦?

这是以路径作为内容的平面 RepeatButton 样式的结果:

<Style x:Key="RepeatButtonFlat" TargetType="{x:Type RepeatButton}">
    <Setter Property="OverridesDefaultStyle" Value="true"/>
    <Setter Property="Focusable" Value="false"/>
    <Setter Property="IsTabStop" Value="false"/>
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type RepeatButton}">
                <Border Background="Transparent" Height="14" Width="14">
                    <Path HorizontalAlignment="Center" VerticalAlignment="Center" Stretch="Uniform" Margin="2"
                          Data="{Binding Path=Content, RelativeSource={RelativeSource TemplatedParent}}" />
                </Border>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

示例用法:

<RepeatButton Style="{StaticResource ScrollBarLineButton}" Content="M0,0 L1,0 .5,-.5 Z"/>