Wpf TabItem情节提要影响相邻的TabItems
我们有一个TabItem样式,其中包含一个非常简单的ControlTemplate: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
<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受到影响。