Modelo de erro é exibido acima de outros controles, quando deveria estar oculto

Eu estou tentando implementar a validação no meu aplicativo WPF usando oIDataErrorInfo interface, e eu encontrei uma situação não tão desejável.

Eu tenho este modelo que é usado quando um controle não consegue validar

<code><ControlTemplate x:Key="errorTemplate">
    <DockPanel LastChildFill="true">
        <Border Background="Red" DockPanel.Dock="Right" Margin="5,0,0,0" Width="20" Height="20" CornerRadius="10"
                                    ToolTip="{Binding ElementName=customAdorner, Path=AdornedElement.(Validation.Errors)[0].ErrorContent}">
            <TextBlock Text="!" VerticalAlignment="Center" HorizontalAlignment="Center" FontWeight="Bold" Foreground="White" />
        </Border>
        <AdornedElementPlaceholder Name="customAdorner" VerticalAlignment="Center" >
            <Border BorderBrush="red" BorderThickness="1" />
        </AdornedElementPlaceholder>
    </DockPanel>
</ControlTemplate>
</code>

Tudo está bem até eu tentar mostrar algo acima do controle que falhou na validação, como exibir um item de dock acima dele:

Como posso evitar isso e exibir meu modelo de erro abaixo do item de encaixe, como deveria?

EDITAR

Eu achei que eu poderia envolver meuTextBox com umAdornerDecorator para consertar isso, mas eu realmente não quero fazer isso para cada umTextBox controle na minha aplicação. Existe talvez uma maneira de configurá-lo com umStyle ou de alguma outra maneira?

EDIT 2

Eu provavelmente poderia mudar o padrãoTextBox ControlTemplate para incluir umAdornerDecorator, mas não estou muito interessado em alterar qualquer um dos modelos de controle padrão do WPF. Quaisquer outras sugestões são bem vindas.

questionAnswers(3)

yourAnswerToTheQuestion