如何将按钮模板中的内容居中并将鼠标事件保持在空白区域

How to center Content in a Button Template and keep mouse events in empty area

我正在使用 Button Template 来自定义按钮的外观,如下所示:

<ControlTemplate TargetType="Button">
    <Border x:Name="Border" CornerRadius="6" BorderThickness="1">
        <ContentPresenter Margin="3" HorizontalAlignment="Center" VerticalAlignment="Center" RecognizesAccessKey="True" ContentSource="Content"/>
    </Border>
</ControlTemplate>

我想将 Content 水平和垂直居中,但是当我这样做时 Button 的 "empty" 区域对 Mouse 没有反应。当我使用 Stretch 时,整个 Button 表现正常,但 Content 对齐右上角。

我该如何同时进行?

要使 Border 命中测试的整个区域可见,您需要用一些 Brush 初始化它的 Background 属性。甚至可以是透明的,这将具有与默认 null 相同的视觉效果。

 <Border ... Background="Transparent" />