更改 TabItems 的默认颜色 (MahAppsMetro)

Changing the default color of TabItems (MahAppsMetro)

我正在使用 MahAppsMetro 并且有一个 TabControl - 实际上非活动选项卡应该有一个灰色前景并在鼠标悬停时变成黑色。不知何故,他们一直都是黑人.. 这就是我使用 TabControl 的方式:

<Controls:MetroWindow x:Name="MW_Window" x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
Title="Example" Icon="/Example;component/pics/Example.ico" WindowStyle="ThreeDBorderWindow" mc:Ignorable="d" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" Height="665.5" Width="759" ResizeMode="CanMinimize" NonActiveWindowTitleBrush="{DynamicResource AccentColorBrush}" NonActiveGlowBrush="{DynamicResource AccentColorBrush}" NonActiveBorderBrush="{DynamicResource AccentColorBrush}">
     <Grid>
         <Controls:MetroAnimatedSingleRowTabControl  Name="TabControl1"  Margin="0,0,0,0">
            <TabItem Header="Dashboard" Name="Dashboard">
                <Grid Margin="0,0,0,0">
                    <RadioButton HorizontalAlignment="Left" Margin="87,114,0,0" Name="RadioButton1" VerticalAlignment="Top" IsChecked="True" Width="64" Content="" VerticalContentAlignment="Center" />
                    <RadioButton HorizontalAlignment="Left" Margin="87,138,0,0" Name="RadioButton2" VerticalAlignment="Top" Width="64" />
                    <RadioButton HorizontalAlignment="Left" Margin="87,162,0,0" Name="RadioButton3" VerticalAlignment="Top" Width="64" />
                    <RadioButton HorizontalAlignment="Left" Margin="86,185,0,0" Name="RadioButton4" VerticalAlignment="Top" Width="64" />
                </Grid>
            </TabItem>
            <TabItem Header="Options" Name="Options">
                <Grid Margin="0,0,0,0" >

                </Grid>
            </TabItem>
            <TabItem Header="Info" Name="Info">
                 <Grid Margin="0,0,0,0">

                </Grid>
            </TabItem>
            <TabItem Header="Admin" Name="Admin">
                <Grid Margin="0,0,0,0" >

                </Grid>
            </TabItem>
            <TabItem Header="FM" Name="SuperAdmin">
                <Grid Margin="0,0,0,0" >

                </Grid>
            </TabItem>
        </Controls:MetroAnimatedSingleRowTabControl>
    </Grid>
</Controls:MetroWindow>

我用的是自己的xaml-文件(复制了原来的文件,改了Basic-Colors),其他都是一样的。

How it looks now

How it should be (Info is black because of MouseOver)

我现在如何将未选择的 tabitem 的默认前景颜色设置回灰色?

编辑: 能够找到问题:

我从应用程序 MergedDictionaries 中删除了 BaseLight.xaml - 然后它不再工作 - 再次添加它后它再次工作。

之前:

<ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <!-- MahApps.Metro resource dictionaries. Make sure that all file names are Case Sensitive! -->
            <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
            <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" />
            <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colors.xaml" />
            <!-- Accent and AppTheme setting -->
            <ResourceDictionary Source="LiquidStyle_Classic.xaml" />
       </ResourceDictionary.MergedDictionaries>
</ResourceDictionary>

之后:

<ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <!-- MahApps.Metro resource dictionaries. Make sure that all file names are Case Sensitive! -->
            <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
            <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" />
            <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colors.xaml" />
            <!-- Accent and AppTheme setting -->
            <ResourceDictionary Source="LiquidStyle_Classic.xaml" />
            <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" />
        </ResourceDictionary.MergedDictionaries>
</ResourceDictionary>

尝试使用自定义触发器为 TabItem 定义样式。 在您的网格中添加以下标记:

<Grid.Resources>
        <Style TargetType="{x:Type TabItem}" BasedOn="{StaticResource {x:Type TabItem}}">
            <Style.Triggers>
                <EventTrigger RoutedEvent="MouseEnter">
                    <BeginStoryboard>
                        <Storyboard>
                            <ColorAnimation Storyboard.TargetProperty="(Foreground).(SolidColorBrush.Color)"
                                            From="Gray" To="Black" Duration="0:0:1"/>
                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger>
                <EventTrigger RoutedEvent="MouseLeave">
                    <BeginStoryboard>
                        <Storyboard>
                            <ColorAnimation Storyboard.TargetProperty="(Foreground).(SolidColorBrush.Color)"
                                            From="Black" To="Gray" Duration="0:0:1"/>
                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger>
            </Style.Triggers>
        </Style>
    </Grid.Resources>