鼠标悬停时如何更改 TabItem 颜色?

IlD*_*ugo 2 wpf mahapps.metro

我正在使用MahApp,我创建了以下内容TabControl

<TabControl TabStripPlacement="Left" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="0">
<TabItem>
    <TabItem.Header>
        <Image Source="Images/Icon.png"></Image>
    </TabItem.Header>
    <TabItem.Content>
            <Grid>
                <Controls:Scheduler x:Name="Scheduler"/>
            </Grid>
    </TabItem.Content>
</TabItem>
</TabControl>
Run Code Online (Sandbox Code Playgroud)

我该如何处理该MouseOver事件并更改颜色?实际上,如果我将鼠标移到 TabItem 上,用户不知道 TabItem 是否可单击。提前致谢。

d.m*_*ada 5

您可以添加TabItem样式作为TabControl. 将Style根据 触发MouseOver

<TabControl TabStripPlacement="Left" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="0">
    <TabControl.Resources>
        <Style TargetType="{x:Type TabItem}">
            <Setter Property="Width" Value="Auto"/>
            <Setter Property="Background" Value="Transparent" />
            <Setter Property="Height" Value="Auto"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="TabItem">
                        <Border Name="Border" Background="Transparent">
                            <ContentPresenter x:Name="ContentSite"
                                VerticalAlignment="Center"
                                HorizontalAlignment="Left"
                                ContentSource="Header"
                                Margin="10,2"/>
                        </Border>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsMouseOver" Value="True" SourceName="Border">
                                <Setter TargetName="Border" Property="Background" Value="Blue" />
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </TabControl.Resources>
    <TabItem>
        <TabItem.Header>
            <Image Source="Images/Icon.png"></Image>
        </TabItem.Header>
        <TabItem.Content>
            <Grid>

            </Grid>
        </TabItem.Content>
    </TabItem>
</TabControl>
Run Code Online (Sandbox Code Playgroud)

编辑:如果您希望颜色在TabItem选择时保持不变,请将其添加到ControlTemplate.Triggers

            <Trigger Property="IsSelected" Value="True">
                <Setter TargetName="Border" Property="Background" Value="Blue" />
            </Trigger>
Run Code Online (Sandbox Code Playgroud)