WPF EventHandler disparó contra el elemento incorrecto

Estoy desconcertado por esto:

He hecho un ejemplo muy simple:

MainWindow.xaml:

<Window x:Class="Test.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">

    <Window.Resources>
        <Style TargetType="RichTextBox">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="RichTextBox">
                        <Grid Height="100" Width="200">
                            <Grid.RowDefinitions>
                                <RowDefinition/>
                                <RowDefinition/>
                            </Grid.RowDefinitions>
                            <Label Background="Blue" Grid.Row="0">Label</Label>
                            <Border PreviewMouseDown="Border_PreviewMouseDown" Background="Red" Grid.Row="1">
                                <ScrollViewer x:Name="PART_ContentHost" />
                            </Border>
                        </Grid>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </Window.Resources>

    <Grid>
        <RichTextBox>
            <FlowDocument>
                <FlowDocument.Blocks>
                    <Paragraph>
                        oaizeropiazuerpoaizeurpoaizeurpaozieurpaozieru
                    </Paragraph>
                </FlowDocument.Blocks>
            </FlowDocument>
        </RichTextBox>
    </Grid>
</Window>

MainWindow.xaml.cs:

using System.Diagnostics;
using System.Windows;
using System.Windows.Input;

namespace Test
{
   public partial class MainWindow : Window
   {
      public MainWindow()
      {
         InitializeComponent();
      }

      private void Border_PreviewMouseDown(object sender, MouseButtonEventArgs e)
      {
          Debug.WriteLine("Click !");
      }

   }
}

now, como coloco explícitamente el PreviewMouseDown EventHandler en el borde y no en la etiqueta de mi plantilla, espero que se active cuando hago clic en el borde (rojo) del control, pero no cuando hago clic en el (azul ) etiqueta.

Sin embargo, el evento se dispara cuando hago clic en el borde (rojo) cuando hago clic en la etiqueta (azul).

Entonces por qué la Etiqueta llama a un EventHandler que adjunto explícitamente a otra parte de controlTemplate (es decir, el borde)?

He comprobado: si elimino laPreviewMouseDown="Border_PreviewMouseDown" código de las propiedades del borde, el evento ya no se activa en la etiqueta.

¿que me estoy perdiendo aqui

¿y cuál sería la forma correcta de hacer? ¿Cómo puedo diseñar mi controlTemplate para que el evento PreviewMouseDown se active solo por una subparte del control con plantilla?

gracias por adelantad

Editar siguiendo la respuesta de Snowbear, verifiqué el origen original del evento cuando hago clic en la etiqueta. De hecho es la frontera. ¿Por qué esto es tan? ¿De qué manera el borde encapsula la etiqueta en la plantilla de arriba? Los configuré específicamente en diferentes filas de cuadrícula para evitar esto, entonces, ¿cómo es posible?

Edit2 Solo por diversión, creé un controlador que solo imprime el remitente / fuente / fuente original del evento, y lo adjunté en la plantilla a La cuadrícula, el borde y el visor de desplazamiento.

Esto es lo que obtengo cuando hago clic UNA VEZ (y solo una vez) en la barra de desplazamiento vertical, por ejemplo:

Clic -- Sender: System.Windows.Controls.Grid -- OriginalSource: Microsoft.Windows.Themes.ScrollChrome -- Source: MyRichTextBox
Clic -- Sender: System.Windows.Controls.Border -- OriginalSource: Microsoft.Windows.Themes.ScrollChrome -- Source: MyRichTextBox
Clic -- Sender: System.Windows.Controls.ScrollViewer -- OriginalSource: Microsoft.Windows.Themes.ScrollChrome -- Source: MyRichTextBox
Clic -- Sender: System.Windows.Controls.Grid -- OriginalSource: Microsoft.Windows.Themes.ScrollChrome -- Source: System.Windows.Controls.ScrollViewer
Clic -- Sender: System.Windows.Controls.Border -- OriginalSource: Microsoft.Windows.Themes.ScrollChrome -- Source: System.Windows.Controls.ScrollViewer
Clic -- Sender: System.Windows.Controls.ScrollViewer -- OriginalSource: Microsoft.Windows.Themes.ScrollChrome -- Source: System.Windows.Controls.ScrollViewer

esto claramente resuelve el asunto: el evento se hace un túnel dos veces, por alguna razón, primero con el TemplatedParent (es decir, el RichtextBox) como Fuente, y luego con el ContentPresenter (es decir, el ScrollViewer) como Fuente.

Por los pantalones más anchos de Merlín, realmente me pregunto qué pasó por la cabeza del MS Dev que programó esto ...

Respuestas a la pregunta(2)

Su respuesta a la pregunta