O conteúdo do texto em um botão WPF não está sendo centralizado verticalmente

Existe uma razão para o conteúdo do texto de um botão WPF aparecer com espaço indesejado acima do texto?

Eu tenho um botão em um StackPanel. Esse botão é um botão simples de fechar, então eu quero que ele apareça como um botão quadrado com um "x" centralizado. Defina meu preenchimento como zero e defina HorizontalContentAlign e VerticalContentAlign como Center, mas o "x" ainda aparece na parte inferior do botão (ou mesmo truncado, devo ter meu FontSize muito grande em relação à minha altura). É como se houvesse algum preenchimento na parte superior do botão que evitasse que o texto usasse todo o espaço vertical.

Meu XAML é:

<StackPanel Orientation="Horizontal">
        <Label Content="{Binding GenderFilter.Title}" FontWeight="Bold" Width="60" />
        <Button Padding="0" Width="15" Height="15" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" FontSize="12">x</Button>
        <Label Content="{Binding GenderFilterExpander.SelectedValue}" />
</StackPanel>

O problema é exatamente o mesmo, devo definir minha propriedade VerticalContentAlign do botão como Stretch ou até Top. Se eu remover as propriedades Altura e Peso para que o botão determine seu próprio valor, o controle não aparecerá como um quadrado, mas como um retângulo na vertical e o "x" ainda não estará centralizado.

ATUALIZAÇÃO: Enquanto o botão e o conteúdo estão agora centralizados perfeitamente, o botão ainda está sendo exibido muito maior do que o necessário, como se estivesse sendo aplicado um preenchimento alto.

Minha definição de estilo de recurso agora é a seguinte:

<Style x:Key="ClearFilterButtonStyle" TargetType="{x:Type Button}">
    <Setter Property="Padding" Value="0" />
    <Setter Property="Width" Value="{Binding RelativeSource={x:Static RelativeSource.Self}, Path=ActualHeight}" />
    <Setter Property="HorizontalContentAlignment" Value="Center" />
    <Setter Property="VerticalContentAlignment" Value="Center" />
    <Setter Property="Content" Value="X" />
    <Setter Property="FontSize" Value="8" />
</Style>

O botão em si é definido como:

<Expander.Header>
    <StackPanel Orientation="Horizontal">
            <Label Content="{Binding GenderFilter.Title}" FontWeight="Bold" Width="60" />
            <Button Style="{StaticResource ClearFilterButtonStyle}"
                                    Visibility="{Binding GenderFilterExpander.ClearFilterVisibility}" />
            <Label Content="{Binding GenderFilterExpander.SelectedValue}"
                                   Visibility="{Binding GenderFilterExpander.SelectedValueVisibility}" />
    </StackPanel>
</Expander.Header>

O Expander está dentro de um StackPanel dentro de um GroupBox dentro de um DockPanel.

Na exibição de design, os botões são dimensionados corretamente, contendo apenas o X, mas no tempo de execução, eles aumentam. Como posso corrigir isso?

questionAnswers(2)

yourAnswerToTheQuestion