在WPF中,为什么我的按钮边框不显示?
我为XAML中的按钮创建了以下样式:在WPF中,为什么我的按钮边框不显示?,wpf,xaml,user-interface,Wpf,Xaml,User Interface,我为XAML中的按钮创建了以下样式: <Style x:Key="ButtonStyle" TargetType="Button"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="Button"> <Border Background="#FFFEFF" Borde
<Style x:Key="ButtonStyle" TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border Background="#FFFEFF" BorderBrush="white" BorderThickness="0.8" CornerRadius="3">
<Button Background="#FFFEFF" Foreground="#009999">
<ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<Button.Effect>
<DropShadowEffect Color="#BABABA" ShadowDepth="2"/>
</Button.Effect>
</Button>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
由于某些原因,边框更改未显示,因此我无法更改角半径。投影效果很好。这可能很简单,但我第一次在XAML和C#中跌跌撞撞地完成了!我厌倦了在样式中的不同setter下列出边框,但这只会导致在按钮的方形边缘下看到边框 看起来您需要将边框效果带到按钮之外的边框元素中。通过将边框效果放置在按钮内部,可以使效果与按钮的形状一致,而不是与边框一致,并且由于按钮具有方形角,因此尽管边框角是圆角,但它始终显示为方形。有关示例,请参阅本文:
<Style x:Key="ButtonStyle" TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border Background="#FFFEFF" BorderBrush="white" BorderThickness="0.8" CornerRadius="3">
<Border.Effect>
<DropShadowEffect Color="#BABABA" ShadowDepth="2"/>
</Border.Effect>
<Button Background="#FFFEFF" Foreground="#009999">
<ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Button>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>