在WPF上更改鼠标上的TabControl标题字体(自定义TabControl)

在WPF上更改鼠标上的TabControl标题字体(自定义TabControl),wpf,xaml,Wpf,Xaml,我的自定义选项卡控件有以下代码: <TabControl x:Name="tabControl" BorderBrush="GhostWhite" Grid.ColumnSpan="2" HorizontalAlignment="Left" Height="124" Margin="195,0,0,0" VerticalAlignment="Top" Width="312" FontFamily="Segoe UI"> <TabControl.Resourc

我的自定义选项卡控件有以下代码:

  <TabControl x:Name="tabControl" BorderBrush="GhostWhite" Grid.ColumnSpan="2" HorizontalAlignment="Left" Height="124" Margin="195,0,0,0" VerticalAlignment="Top" Width="312" FontFamily="Segoe UI">
        <TabControl.Resources>
            <Style TargetType="TabItem">
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="TabItem">
                            <Border Name="Border" BorderThickness="0,0,0,0" BorderBrush="White" CornerRadius="9,9,9,9" 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="#FFFF8540" />
                                </Trigger>
                                <Trigger Property="IsSelected" Value="False">
                                    <Setter TargetName="Border" Property="Background" Value="White" />
                                </Trigger>
                            </ControlTemplate.Triggers>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
        </TabControl.Resources>
        <TabItem Header="General" FontFamily="Segoe UI" FontSize="12.5">
            <Label Content="Content goes here..." />
        </TabItem>
        <TabItem Header="Security" />
        <TabItem Header="Details" />
    </TabControl>


我想更改所选选项卡的字体大小和前景,但真的不知道该怎么办…如有任何帮助,将不胜感激

请在“
”下添加以下代码:


确保用您选择的任何内容替换[Color]和[Size]

更新:

要在鼠标悬停在TabItem上时更改边框颜色,还必须更改厚度,因为将其设置为0


请在“
”下添加以下代码:


确保用您选择的任何内容替换[Color]和[Size]

更新:

要在鼠标悬停在TabItem上时更改边框颜色,还必须更改厚度,因为将其设置为0


这是一个工作代码。我为我的一个项目开发了它。此外,您可以根据需要进行更改,但它肯定会为您提供基本的想法

 <Style x:Key="MainTabItemStyle" TargetType="TabItem">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="TabItem">
                        <Border Name="Border" BorderThickness="1" Background="[COLOR]" Margin="0" CornerRadius="5,5,0,0">
                                <ContentPresenter x:Name="ContentSite"
                                        VerticalAlignment="Center"
                                        HorizontalAlignment="Center"
                                        ContentSource="Header"
                                        Margin="5"
                                        TextBlock.FontSize="16"/>
                        </Border>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsSelected" Value="True">
                                <Setter TargetName="Border" Property="BorderBrush" Value="[COLOR]" />
                                <Setter TargetName="Border" Property="Background" Value="[COLOR]" />
                                <Setter TargetName="ContentSite" Property="TextBlock.Foreground" Value="[COLOR]"/>
                            </Trigger>
                            <Trigger Property="IsSelected" Value="False">
                                <Setter TargetName="Border" Property="BorderBrush" Value="[COLOR]" />
                                <Setter TargetName="Border" Property="Background" Value="[COLOR]" />
                                <Setter TargetName="Border" Property="Margin" Value="0" />
                                <Setter TargetName="Border" Property="Cursor" Value="Hand"/>
                                <Setter TargetName="ContentSite" Property="TextBlock.Foreground" Value="[COLOR]"/>
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
 </Style>

更新

当鼠标id位于上方时更改边框颜色

<Trigger Property="IsMouseOver" Value="True">
    <Setter TargetName="Border" Property="BorderThickness" Value="[THICKNESS]" />
    <Setter TargetName="Border" Property="BorderBrush" Value="[Color]"/>
</Trigger>

这是一个工作代码。我为我的一个项目开发了它。此外,您可以根据需要进行更改,但它肯定会为您提供基本的想法

 <Style x:Key="MainTabItemStyle" TargetType="TabItem">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="TabItem">
                        <Border Name="Border" BorderThickness="1" Background="[COLOR]" Margin="0" CornerRadius="5,5,0,0">
                                <ContentPresenter x:Name="ContentSite"
                                        VerticalAlignment="Center"
                                        HorizontalAlignment="Center"
                                        ContentSource="Header"
                                        Margin="5"
                                        TextBlock.FontSize="16"/>
                        </Border>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsSelected" Value="True">
                                <Setter TargetName="Border" Property="BorderBrush" Value="[COLOR]" />
                                <Setter TargetName="Border" Property="Background" Value="[COLOR]" />
                                <Setter TargetName="ContentSite" Property="TextBlock.Foreground" Value="[COLOR]"/>
                            </Trigger>
                            <Trigger Property="IsSelected" Value="False">
                                <Setter TargetName="Border" Property="BorderBrush" Value="[COLOR]" />
                                <Setter TargetName="Border" Property="Background" Value="[COLOR]" />
                                <Setter TargetName="Border" Property="Margin" Value="0" />
                                <Setter TargetName="Border" Property="Cursor" Value="Hand"/>
                                <Setter TargetName="ContentSite" Property="TextBlock.Foreground" Value="[COLOR]"/>
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
 </Style>

更新

当鼠标id位于上方时更改边框颜色

<Trigger Property="IsMouseOver" Value="True">
    <Setter TargetName="Border" Property="BorderThickness" Value="[THICKNESS]" />
    <Setter TargetName="Border" Property="BorderBrush" Value="[Color]"/>
</Trigger>


我将尝试实现itow…还有一件事可以更改mousehover/mouseenter上的边框颜色吗?绝对可以!我已经更新了我的答案,为您提供了一个解决方案。1•我可以在IsMouseOver事件中使用stryboard吗?我将尝试实现它……还有一件事是可以更改MouseOver/mouseenter上的边框颜色吗?绝对可以!我已经更新了我的答案,为您提供了一个解决方案。1•我可以在IsMouseOver事件中使用stryboard吗?我将尝试实现它……还有一件事可以更改MouseOver/mouseenter上的边框颜色吗?1•我可以在IsMouseOver事件中使用stryboard吗?我将尝试实现它……还有一件事可以更改边框吗鼠标套/鼠标套上的颜色?1•我可以在iMouseOver活动中使用stryboard吗?