2
Ich schreibe eine WPF-Anwendung und versuchen, den TabItem-Header NUR zu gestalten, um einen Rahmen mit Hintergrundfarbe zu ändern, wenn ausgewählt. Das Problem ist, wenn ich diesen Stil hinzufüge, verwirft es den Stil für meine TextBlock-Elemente im TabItem. Ich bin kein WPF/XAML-Experte. Unten ist der Stil, den ich in meinem TabControl verwende. Ich benutze auch MahApps Metro Stylings. Irgendwelche Ideen würden geschätzt werden.WPF TabItem Header Styling ONLY
<TabControl.Resources>
<Style TargetType="TabItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TabItem">
<Border Name="Border" BorderThickness="1,1,1,0" BorderBrush="Gainsboro" CornerRadius="4,4,0,0" Margin="2,0">
<ContentPresenter x:Name="ContentSite"
VerticalAlignment="Center"
HorizontalAlignment="Center"
ContentSource="Header"
Margin="10,2"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter TargetName="Border" Property="Background" Value="{DynamicResource AccentColorBrush}" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</TabControl.Resources>
Sie sagen, "es vermasselt den Stil für meine TextBlock- Elemente im TabItem up". Kannst du genauer sein? Ich kann keine TextBlock-Anzeigeprobleme mit dem von Ihnen bereitgestellten XAML reproduzieren. –
Mit dem Styling an Ort und Stelle macht es alle meine Textblock-Elemente einen schwarzen Vordergrund. Was funktioniert gut, wenn ich einen weißen Hintergrund benutze, aber wenn ich es auf einen schwarzen Hintergrund umschalte, können Sie die Textblock-Elemente nicht sehen, weil die schwarz bleiben, anstatt zu weiß zu wechseln, wie meine Label-Elemente. Wenn es eine Möglichkeit im Stil wäre, nur das TabItem.Header-Element und nicht das gesamte TabItem anzusprechen, würde das mein Problem lösen, aber ich glaube nicht, dass Sie das aus meinem begrenzten Wissen über XAML/WPF heraus tun können. – Developer
Es gibt nichts in diesem XAML, das die Vordergrundfarbe eines anderen ändern könnte. Haben Sie versucht, 'BasedOn' für' Style' zu setzen? '