我改变了按钮的ControrTemplate,给它一个CornerRadius和BevelBitmpaEffect的边框。看起来足够体面,为最小的努力。把它放在彩色背景上,然后问题变得明显。WPF:按钮模板w/cornerRadius和斜角看起来不对
光角从那里出来的角落是一个白色的剪辑,有一个直角角落。可能来自灯光效果,但非常明显的一个角落Radius。我不认为我可以做任何事情(除了明显的不使用cornerRadius之外)?
编辑:
此代码应为您生成
<Style x:Key="TabButtons" TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border CornerRadius="8"
SnapsToDevicePixels="True"
Name="BtnBorder"
Width="80"
Height="35"
BorderThickness="1"
BorderBrush="DarkBlue">
<Border.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="LightBlue" Offset="0" />
<GradientStop Color="DarkBlue" Offset="1" />
</LinearGradientBrush>
</Border.Background>
<Border.BitmapEffect>
<BevelBitmapEffect BevelWidth="5"
EdgeProfile="CurvedOut"
LightAngle="135"
Relief="0.1"
Smoothness="1" />
</Border.BitmapEffect>
<ContentPresenter Name="BtnContent" VerticalAlignment="Center" HorizontalAlignment="Center" ContentSource="Content" />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
使用上LightBlue背景例如
<Border Background="LightBlue" >
<Button Style={StaticResource TabButtons} >Test</Button>
</Border>
我之前在一些问题中使用了SnapsToDevicePixels,但在这里似乎并不是这样。我可能会发布按钮的Controltemplate也会向您展示它的外观。 – 2010-08-10 11:22:30
检查编辑的答案... – Marko 2010-08-10 15:38:04