为什么TabItems
的颜色总是黑色?我想要黑色Background
和白色字母。此外Button
应为白色,但它也是黑色且不可见。有一些冲突,但无法找到。有任何想法吗?请事先提供帮助。
<UserControl x:Class="Test.Test"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:cal="http://www.caliburnproject.org"
xmlns:cm="clr-namespace:Caliburn.Micro;assembly=Caliburn.Micro"
mc:Ignorable="d" d:DesignHeight="252" d:DesignWidth="894" Background="#FF111111">
<Grid>
<TextBlock HorizontalAlignment="Left" TextWrapping="Wrap" VerticalAlignment="Top" Foreground="White" FontSize="48" Margin="70,-14.668,0,0" FontWeight="Light"><Run Language="de-at" Text="test test"/></TextBlock>
<Button x:Name="Close" Content="➔" HorizontalAlignment="Left" VerticalAlignment="Top" Width="58" Foreground="White" Height="58" RenderTransformOrigin="0.5,0.5" FontSize="40" Margin="-7.625,-8,0,0" Padding="1,-5,1,1" Clip="M50.333,8 L-1.667,8 L-1.667,59.843 L50.333,59.843 z" cm:Message.Attach="Close()">
<Button.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleY="1" ScaleX="-1"/>
<SkewTransform AngleY="0" AngleX="0"/>
<RotateTransform Angle="0"/>
<TranslateTransform/>
</TransformGroup>
</Button.RenderTransform>
</Button>
<TabControl Margin="42,52,0,0">
<TabItem Header="Start">
</TabItem>
<TabItem Foreground="White" Header="Start 1" >
</TabItem>
<TabItem Foreground="White" Header="Start 1">
</TabItem>
<TabItem Foreground="White" Header="Start 1">
</TabItem>
<TabItem Foreground="White" Header="Start 1">
</TabItem>
</TabControl>
</Grid>
我尝试过很多东西而且没用。所以我所做的就是在TextBlock
:
TabItem.Header
<TabItem>
<TabItem.Header>
<TextBlock FontSize="25" Text="Start1" />
</TabItem.Header>
</TabItem>
现在,我可以使用TextBlock
更改Foreground
的颜色。但如果点击TextBlock
,我不知道如何更改TabItem
颜色。也许我应该为此开一个新话题。谢谢你的贡献。
答案 0 :(得分:1)
您根本没有设置Background
的{{1}}或Foreground
属性,因此它使用的是默认颜色。
任何TabControl
对象的Background
属性的默认颜色为Control
(source),而默认Brushes.Transparent
属性基于您的系统颜色(source)。
您可以在Foreground
中使用隐式样式为指定类型的所有对象设置属性,例如对所有Control对象使用此样式:
UserControl.Resources
或者,如果您可以向<UserControl.Resources>
<Style TargetType="{x:Type Control}">
<Setter Property="Background" Value="Black" />
<Setter Property="Foreground" Value="White" />
</Style>
</UserControl.Resources>
添加新的刷子,并将其.Resources
设置为SystemColors之一的系统键,就像这样:
x:Key
(您可能需要测试一下以确定哪个是正确使用的SystemColors密钥。您可以找到它们的列表here)