Ich habe folgende CheckboxStandard TextBlock- Styling
<CheckBox x:Name="checkBox" Content="CheckBox" Width="74"/>
und ich habe eine Schaltfläche
<Button Name="TestButton" Content="Test" />
ich eine "default" Farbe für den Textblock festlegen möchten. Ich erreichen, dass durch eine Resource, die den folgenden Inhalt hat:
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Foreground" Value="White"/>
</Style>
Das Problem ist, dass der Knopf noch einen schwarzen Textblock Vordergrund haben sollte, aber obwohl in einem anderen sourcedictionary i folgende Voraussetzungen erfüllt sein, es ändert sich nach wie vor auf weiß :
<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
Edit: in Application.xaml wie diese Die ResourceDictionaries definiert sind:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="TextBlock.xaml"/>
<ResourceDictionary Source="Buttons.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
Haben Sie im ContentPresenter 'TextElement.Foreground =" Black "anstelle von' TextBlock.Foreground' versucht? –
Yeah, 'TextElement.Foreground' und' TextBlock.Foreground' ändern beide die Textfarbe, werden aber leider immer noch vom Other Style überschrieben. – Splinti
Wie definiert man einen anderen Standard-TextBlock-Stil in 'ContentPresenter.Resources'? –