我试图给RepeatButton
平面外观,而不是覆盖ControlTemplate
。使用常规Button
,您可以执行以下操作(但不能使用RepeatButton
):
<Button BorderThickness="0" Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}">...
RepeatButton
或ButtonBase
是否有类似的内容?我假设没有,因为如果你将一个RepeatButton
放在ToolBar
中,那么看起来并不平坦。
除了覆盖RepeatButton
之外,还有更好的方法让ControlTemplate
看起来平坦吗?
答案 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"/>