TextBox的错误验证动画太慢

TextBox's error validation animation is too slow

我正在使用 Mahaaps.Metro AnimatedTabControl。当我从一个选项卡切换到另一个选项卡时,我可以看到 AdornedElementPlaceholder 上的缓慢转换。这是屏幕截图:

我正在使用 MahApps metro 动画标签转换。

XAML:

<TextBox  Style="{StaticResource EditValueStyle}" Visibility="{Binding ManualDimmingVisibility}" Text="{Binding ManualDampingValue, NotifyOnValidationError=true, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=true}"   />
<TextBox  Style="{StaticResource EditValueStyle}"  Text="{Binding SignalIntensity, NotifyOnValidationError=true, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=true}" Grid.Row="3" Grid.Column="1"  HorizontalAlignment="Left" Height="22"  />

<Style x:Key="EditValueStyle" TargetType="TextBox">
    <Setter Property="Control.HorizontalAlignment" Value="Left" />
    <Setter Property="Control.VerticalAlignment" Value="Center" />
    <Setter Property="Control.Height" Value="Auto" />
    <Setter Property="Control.HorizontalContentAlignment" Value="Right" />
    <Setter Property="Control.VerticalContentAlignment" Value="Center" />
    <Setter Property="Control.Foreground" Value="#333" />
    <Setter Property="Control.Width" Value="60" />
    <Setter Property="Control.FontSize" Value="14" />
    <Setter Property="MaxLength" Value="8"></Setter>
    <Setter Property="Control.Margin" Value="0,0,15,0" />
    <Setter Property="Control.FontFamily" Value="Segoe UI Symbol" />
    <Setter Property="Validation.ErrorTemplate">
        <Setter.Value>
            <ControlTemplate>
                <DockPanel LastChildFill="true">
                    <Border Background="Red" DockPanel.Dock="right" Margin="3,0,0,0" Width="15" Height="15" CornerRadius="10"   ToolTip="{Binding ElementName=customAdorner, Path=AdornedElement.(Validation.Errors)[0].ErrorContent}">
                        <TextBlock Text="!" VerticalAlignment="center" HorizontalAlignment="center" FontWeight="Bold" Foreground="white">
                        </TextBlock>
                    </Border>
                    <AdornedElementPlaceholder Name="customAdorner" VerticalAlignment="Center" >
                        <Border BorderBrush="red" BorderThickness="1" />
                    </AdornedElementPlaceholder>
                </DockPanel>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

您应该用 AdornerDecorator 包围您的内容以避免此问题。

<AdornerDecorator>
  <!-- Your content -->
</AdornerDecorator>

而且,也许您忘记了从 MahApps 样式继承 TextBox 样式。

<Style x:Key="EditValueStyle" TargetType="TextBox" BasedOn="{StaticResource MetroTextBox}">
  <!-- Your custom style changes -->
</Style>