2016-07-27 29 views
0

我正在使用Mahaaps.Metro AnimatedTabControl。当我从一个标签切换到另一个时,我可以看到AdornedElementPlaceholder上的缓慢转换。这里有一个截图:TextBox的错误验证动画太慢

我正在使用MahApps metro动画选项卡转换。

enter image description here

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> 
+0

您需要用AdornerDecorator围绕您的TabItem内容。 – 2016-07-27 13:49:50

回答

1

您应环绕与AdornerDecorator您的内容,以避免此问题。

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

而且,也许你忘了从MahApps风格继承TextBox风格。

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