WPF平面重复按钮(ToolBar外观)

时间:2015-07-24 15:02:40

标签: wpf wpf-4.0

我试图给RepeatButton平面外观,而不是覆盖ControlTemplate。使用常规Button,您可以执行以下操作(但不能使用RepeatButton):

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

RepeatButtonButtonBase是否有类似的内容?我假设没有,因为如果你将一个RepeatButton放在ToolBar中,那么看起来并不平坦。

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

1 个答案:

答案 0 :(得分:1)

这是针对具有Path作为内容的平面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"/>