WPF ErrorTemplate виден, когда не в фокусе?

Я использую проверку WPF для проверки TextBox. Я определил этот шаблон:

<Style x:Key="textBoxInError" TargetType="{x:Type TextBox}" BasedOn="{StaticResource StyleTextBox}">        
        <Style.Triggers>
            <Trigger Property="Validation.HasError" Value="true">
                <Setter Property="ToolTip"
                        Value="{Binding RelativeSource={x:Static RelativeSource.Self},
                        Path=(Validation.Errors)[0].ErrorContent}"/>
                <Setter Property="Background" Value="{StaticResource TextBox_ErrorBackgroundBrush}"/>
                <Setter Property="BorderBrush" Value="{StaticResource TextBox_ErrorBorderBrush}"/>
                <Setter Property="BorderThickness" Value="2"/>                      
            </Trigger>
        </Style.Triggers>
        <Setter Property="Validation.ErrorTemplate">
            <Setter.Value>
                <ControlTemplate>
                    <DockPanel>
                        <TextBlock DockPanel.Dock="Right" Foreground="Red" FontSize="20" Text="!"/>
                        <AdornedElementPlaceholder/>
                    </DockPanel>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>  

TextBox находится на форме в TabItem. Все работает нормально, но "!" TextBlock остается видимым, когда я выбираю другие TabItems. Такое поведение наблюдается во многих других случаях - когда расширитель расширяется и т. Д. Excklamation всегда остается видимым в одном и том же месте, хотя TextBox не отображается на экране.

Ответы на вопрос(1)

Ваш ответ на вопрос