我改變了按鈕的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