为什么Button的边框厚度不会改变?
如果我将边框粗细更改为1或100,则无关紧要。一样的。我想使用样式更改它,而不是自定义模板。
<Window x:Class="GUI.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<Style x:Key="newYellowButton" TargetType="{x:Type Button}">
<Setter Property="Width" Value="100"/>
<Setter Property="Height" Value="100"/>
<Setter Property="Background">
<Setter.Value>
<RadialGradientBrush Center="0.5,0.5" GradientOrigin="0.5,0.5" RadiusX="0.5" RadiusY="0.5" SpreadMethod="Pad" ColorInterpolationMode="SRgbLinearInterpolation">
<GradientStop Color="#FFEEEE3B" Offset="0.5" />
<GradientStop Color="#FFF0E49A" Offset="1" />
</RadialGradientBrush>
</Setter.Value>
</Setter>
<Setter Property="BorderThickness" Value="9"/>
<Setter Property="BorderBrush" Value="Blue" />
<Setter Property="Padding" Value="-4"/>
</Style>
</Window.Resources>
<Grid>
<Button Style="{StaticResource newYellowButton}" Content="Ok"/>
</Grid>
答案 0 :(得分:2)
您可以通过更改Button's ControlTemplate来完成此操作。将这些样式,画笔和...复制到资源字典,然后更改所需的值。
要更改边框粗细,请找到以下代码并进行所需的更改:
...
<Border
x:Name="Border"
CornerRadius="2"
BorderThickness="1" //CHANGE THIS VALUE
Background="{StaticResource NormalBrush}"
BorderBrush="{StaticResource NormalBorderBrush}">
<ContentPresenter
Margin="2"
HorizontalAlignment="Center"
VerticalAlignment="Center"
RecognizesAccessKey="True"/>
</Border>
...