Как центрировать содержимое в шаблоне кнопок и сохранять события мыши в пустой области


Я использую a 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 не реагируют на Mouse. Когда я использую Stretch, Весь Button ведет себя нормально, но Content выровнен сверху направо.

Как мне сделать и то и другое?

1 3

1 ответ:

Чтобы сделать видимой всю область хит-теста Border, необходимо инициализировать его свойство Background с помощью некоторого Brush. Может быть даже прозрачным, который будет иметь тот же визуальный эффект, что и default null.

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