を設定する必要があります定義した2番目のスタイルは「暗黙の」スタイルです。したがって、ビジュアル/論理ツリーの下のすべてのTabItemコントロール、またはアプリケーションリソースに定義されているすべてのTabItemコントロールに適用されます。だから、キーは、それが適用対象となるオブジェクトのタイプです
<Style TargetType="{x:Type TabItem}" x:Name="TabHeader3" x:Key="{x:Type TabItem}">
:
あなたの第二のスタイルは同等です。
TabItemにスタイルが明示的に定義されている場合(前述のように)、暗黙的なスタイルは使用されません。また、2つの暗黙のスタイルが定義されている場合、最も近いものが勝ちます。したがって、ここに:
<Window>
<Window.Resources>
<Style TargetType="{x:Type TabItem}">
<Setter Property="Background" Value="Red" />
</Style>
</Window.Resources>
<Grid>
<Grid.Resources>
<Style TargetType="{x:Type TabItem}">
<Setter Property="Background" Value="Blue" />
</Style>
</Grid.Resources>
...
<TabItem ... />
...
</Grid>
</Window>
青いスタイルは赤いスタイルよりも優先されます。
最後に、通常、あなたのスタイルにx:Name
を含める必要はありません。