Wpf TabItem情节提要影响相邻的TabItems

Wpf TabItem情节提要影响相邻的TabItems,wpf,animation,Wpf,Animation,我们有一个TabItem样式,其中包含一个非常简单的ControlTemplate: <Border x:Name="border" BorderThickness="0" Background="{DynamicResource MediumGray}" Margin="0,0,1,1" SnapsToDevicePixels="True" TextBlock.Foreground="{DynamicResource DarkGray}"> <TextBlo

我们有一个TabItem样式,其中包含一个非常简单的ControlTemplate:

<Border x:Name="border" BorderThickness="0" Background="{DynamicResource MediumGray}" Margin="0,0,1,1" 
    SnapsToDevicePixels="True" TextBlock.Foreground="{DynamicResource DarkGray}">
    <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Text="{TemplateBinding Header}" />
</Border>

ControlTemplate包含在MouseEnter上触发的EventTrigger。情节提要使用彩色动画:

<Storyboard>
    <ColorAnimation To="{StaticResource _LightGray}" BeginTime="0:00:00"
        Duration="0:00:00.200"
        Storyboard.TargetName="border"
        Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)" />
</Storyboard>


故事板按预期工作-除了它还影响TabControl中的其他TabItems。它们都设置为目标颜色的动画。

将原始背景笔刷移动到ControlTemplate资源中可清除此问题:

<ControlTemplate TargetType="{x:Type TabItem}">
    <ControlTemplate.Resources>
        <SolidColorBrush x:Key="borderBackground" Color="{StaticResource _MediumGray}" />
    </ControlTemplate.Resources>

    <Border Background="{StaticResource borderBackground}" ... />
</ControlTemplate>

为了进行故障排除,我尝试针对其他一些属性。我在TabItem.Width属性上放置了一个DoubleAnimation,它的动画设置正确-只有目标TabItem受到影响。