所以,我希望我的标签中的标签项水平居中.我还想更改选项卡背后的背景.我找到了这两件事的答案:
我遇到的问题是它们都是单独工作的,但是当它们结合起来时,它们就无法工作.tabItems中心很好,但背景颜色不是我指定的颜色.
例如代码:
<TabControl>
<TabControl.Resources>
<Style TargetType="{x:Type TabPanel}">
<Setter Property="HorizontalAlignment" Value="Center" />
<Setter Property="Background" Value="Red" />
</Style>
</TabControl.Resources>
<TabItem Header="Test 1" />
<TabItem Header="Test 2" />
<TabItem Header="Test 3" />
<TabItem Header="Test 4" />
</TabControl>
Run Code Online (Sandbox Code Playgroud)
救命?
mho*_*ard 10
噢,发现问题的噩梦真是太糟糕了.问题在于tabcontrol使用的默认模板.
TabPanel本身设置为拉伸以外的东西不会填满网格中所需的东西.这就是背景没有显示的原因.
另一个问题是ContentPanel的背景是绑定到TabControl背景的模板.所以在挖掘之后我发现我可以覆盖构成带有背景的tabcontrol的网格样式,它只会填满网格的第一行,因为第二行背景是模板绑定的.
希望通过查看默认模板,您应该能够看到我得到的内容.
这是它的实际代码
<TabControl>
<TabControl.Resources>
<Style TargetType="{x:Type Grid}">
<Setter Property="Background" Value="Red"/>
</Style>
<Style TargetType="{x:Type TabPanel}">
<Setter Property="HorizontalAlignment" Value="Center"/>
</Style>
</TabControl.Resources>
<TabItem Header="Test 1"/>
<TabItem Header="Test 2"/>
<TabItem Header="Test 3"/>
<TabItem Header="Test 4"/>
</TabControl>
Run Code Online (Sandbox Code Playgroud)
这就是它应该是什么样子
