XAML - 应用样式时无法为按钮添加边框粗细

XAML - Cannot add border thickness to button when style is applied

我正在尝试为我的第一个导航按钮添加边框粗细。通常,您可以轻松地将 BorderThickness 添加到按钮,但是当我添加自己的样式时,它会隐藏 BorderThicknessBorderBrush。我在样式 (0,0,0,1) 中添加了 BorderThickness,但无法为第一个初始按钮设置 (0,1,0,0) 的边框粗细.有什么想法吗?

    <UserControl.Resources>
        <Style x:Key="navButtStyle" TargetType="Button">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="Button">
                        <Grid Background="{TemplateBinding Background}">
                            <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
                            <Border BorderThickness="0,0,0,1" BorderBrush="Black"/>
                        </Grid>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </UserControl.Resources>
<Button Style="{StaticResource navButtStyle}"
        x:Name="navButton1" 
        Grid.Row="1" 
        Content="TR"
        Background="#33333D" 
        FontFamily="Roboto" 
        FontSize="65" 
        FontWeight="Bold" 
        Foreground="White"
        BorderBrush="Black"
        BorderThickness="0,1,0,0"
        HorizontalContentAlignment="Center" 
        ToolTip="navButton0"
        Click="navButton1_Click"
        />
<Button Style="{StaticResource navButtStyle}" x:Name="navButton2" Grid.Row="2" Background="#33333D" ToolTip="navButton2">
     <Grid>
          <TextBlock Text="&#xF00AF;" Padding="30,30,0,0" FontSize="56" FontFamily="Material Design Icons Desktop" Foreground="White"/>
          <TextBlock Text="&#xF05A9;" Padding="0,0,30,30" FontSize="56" FontFamily="Material Design Icons Desktop" Foreground="White"/> 
      </Grid>
</Button>
<Button Style="{StaticResource navButtStyle}" x:Name="navButton3" Grid.Row="3" Content="SL" Background="#33333D" FontFamily="Roboto" FontSize="65" FontWeight="Bold" Foreground="White" HorizontalContentAlignment="Center" ToolTip="navButton3" />

Navigation Buttons

属性 硬编码在模板中的值无法轻易从外部更改。改为使用 TemplateBindings:

<Style x:Key="navButtStyle" TargetType="Button">
    <Setter Property="BorderThickness" Value="0,0,0,1"/>
    <Setter Property="BorderBrush" Value="Black"/>
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="Button">
                <Grid Background="{TemplateBinding Background}">
                    <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
                    <Border BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="{TemplateBinding BorderBrush}"/>
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>