0
我有以下的複選框默認的文本塊造型
<CheckBox x:Name="checkBox" Content="CheckBox" Width="74"/>
和我有一個按鈕
<Button Name="TestButton" Content="Test" />
我想設置爲文本塊「默認」的色彩。我做到這一點通過具有具有下列內容資源字典:
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Foreground" Value="White"/>
</Style>
的問題是,該按鈕還是應該有一個黑色的文字塊的前景,但但在另一sourcedictionary我有以下,但仍然變爲白色:
<Style TargetType="Button">
<Style.Setters>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border BorderThickness="1,0,0,1" CornerRadius="5" Background="{TemplateBinding Background}">
<ContentPresenter
x:Name="ContentPresenter"
Margin="1"
VerticalAlignment="Center"
HorizontalAlignment="Center"
TextBlock.Foreground="Black"
Opacity="1.0"/>
</Border>
</ControlTemplate/>
<Setter.Value/>
</Setter>
</Style.Setters>
</Style
編輯: 的ResourceDictionaries在Application.xaml定義是這樣的:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="TextBlock.xaml"/>
<ResourceDictionary Source="Buttons.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
在ContentPresenter中,您是否嘗試過'TextElement.Foreground =「Black」'而不是'TextBlock.Foreground'? –
是的,'TextElement.Foreground'和'TextBlock.Foreground'都改變了Text的顏色,但是仍然被其他風格所覆蓋。 – Splinti
如何定義在'ContentPresenter.Resources'其他默認TextBlock的風格? –