将鼠标悬停在控件模板子项的填充或边距上时不会触发 IsMouseOver

IsMouseOver Is Not Triggered When Hovering Over The Padding Or The Margin Of A Control Template Children

问题是当悬停在内部控件模板子项的填充或边距上时,不会触发 IsMouseOver 触发器。

我有这个控件模板。我希望在我将鼠标悬停在该控件模板上时触发 IsMouseOver 触发器。只有当我将鼠标悬停在文本或边框上时它才有效。

<TextBox>
    <TextBox.Style>
        <Style TargetType="TextBox">
            <Setter Property="Cursor" Value="IBeam"/>
            <Setter Property="BorderBrush" Value="Gray"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="TextBox">
                        <Border Margin="0 35 0 0" 
                                Padding="0 0 0 12" 
                                BorderThickness="0 0 0 3" 
                                BorderBrush="{TemplateBinding BorderBrush}">
                            <Grid>
                                <ScrollViewer x:Name="PART_ContentHost" 
                                              FontSize="22" 
                                              Foreground="{StaticResource GreyColor}"/>
                                <TextBlock Text="Email" 
                                           FontSize="22" 
                                           Foreground="{StaticResource GreyColor}"/>
                            </Grid>
                        </Border>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsMouseOver" Value="True">
                                <Setter Property="BorderBrush" Value="DodgerBlue"/>
                                <Setter Property="Foreground" Value="DodgerBlue"/>
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </TextBox.Style>
</TextBox>

将边距从边框移动到网格,并在边框上设置背景:

<Border Padding="0 0 0 12" BorderThickness="0 0 0 3"
        Background="{TemplateBinding Background}"
        BorderBrush="{TemplateBinding BorderBrush}">

    <Grid Margin="0 35 0 0">
        <ScrollViewer x:Name="PART_ContentHost"/>
        <TextBlock Text="Email" FontSize="22"
                   Foreground="{TemplateBinding Foreground}"/>
    </Grid>
</Border>