我的风格很简单。后面的代码什么也不做(暂时)。
<Style TargetType="{x:Type xxx:Button}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type fluent:Button}">
<Border BorderBrush="Black" BorderThickness="1,1,1,1">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
,然后在MainWindow中将其用作:
<xxx:Button Content="1" FontSize="46" />
这将导致文本不垂直居中。我对此提出了一个不同的问题,答案是,这归因于字体缩放的方式以及它们如何以不同的方式缩放。一切都很好,但是如何在不知道内容为边界的情况下将其居中放置在边框中呢?在上面的示例中,它只是文本,但是可以是图标或按钮等。这些似乎都正确居中...有一种技巧可以使它与文本一起使用,因为每种字体都有不同的“软键系数” ?