将不同的样式应用于不同容器内的相同控件

时间:2012-11-23 08:53:48

标签: xaml styles

使用Xaml可以吗?例如,我在组框和工具栏中有标签。我已经设置了标签'使用Xaml代码中的样式将前景色变为白色。

窗口的背景颜色为黑色,因此组框也具有此背景。但是,工具栏的背景颜色是System.Media.Colors.Control(或默认情况下的任何颜色),我希望保持这种方式。问题是白色几乎不是白色(工具栏)上的最佳颜色。

是否可以将Label的前景色设置为不同,具体取决于其容器的含义?并且只在一个地方 - 在我的情况下在主窗口的Window.Resources标签内。

这样的事情:

<Style TargetType="Label">
    <Setter Property="Background">
        <Setter.Value>
            <SolidColorBrush Color="White"/>
        </Setter.Value>
    </Setter>
</Style>

<Style TargetType="ToolBar.Label">
    <Setter Property="Background">
        <Setter.Value>
            <SolidColorBrush Color="Black"/>
        </Setter.Value>
    </Setter>
</Style>

谢谢,

学家

1 个答案:

答案 0 :(得分:0)

您可以使用控件定义资源,例如

<ToolBar>
        <ToolBar.Resources>
            <Style TargetType="Label">
                <Setter Property="Background">
                    <Setter.Value>
                        <SolidColorBrush Color="White"/>
                    </Setter.Value>
                </Setter>
            </Style>
        </ToolBar.Resources>
    </ToolBar>

然后工具栏中的标签将选择本地资源。

相关问题