我正在尝试为 TabItem Header 编写自己的控件模板,并且已经使基本布局可以工作,但现在我希望将样式应用于 Header 的内容,例如操纵文本块的大小和字体。
为了测试这一点,我在 tabitem 标题中放置了一个椭圆,并尝试通过样式用金色画笔填充该椭圆。但是,它不起作用。椭圆存在,并且正在应用控制模板,但椭圆的填充不是金色。ContentPresenter.Resources 中的样式被忽略(Resharper 甚至将其变灰以证明这一点)。任何想法我做错了什么?谢谢。
这是代码:
<TabItem>
<TabItem.Template>
<ControlTemplate x:Name="theTabItemControlTemplate" TargetType="{x:Type TabItem}">
<Border BorderBrush="DarkBlue" BorderThickness="10">
<Grid>
<ContentPresenter ContentSource="Header" RecognizesAccessKey="True">
<ContentPresenter.Resources>
<Style TargetType="{x:Type Ellipse}">
<Setter Property="Ellipse.Fill" Value="Gold"/>
</Style>
</ContentPresenter.Resources>
</ContentPresenter>
</Grid>
</Border>
</ControlTemplate>
</TabItem.Template>
<TabItem.Header>
<Ellipse Stroke="Black" StrokeThickness="2" Width="100" Height="30" Grid.Column="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
</TabItem.Header>
</TabItem>