C# 如何制作WPF选项卡项标题';背景透明?

C# 如何制作WPF选项卡项标题';背景透明?,c#,wpf,header,tabcontrol,tabitem,C#,Wpf,Header,Tabcontrol,Tabitem,我有一个TabControl和一些TabItems。每个选项卡项都有一个网格,其中包含一个文本块和一个图像,其中包含透明区域 我的目标是使文本和图像完全可见,并通过透明区域看到窗口。背景图像 问题:不管我怎么做,我设置的图像和文本块后面都有一个白色背景 我尝试将TabControl不透明度设置为0,但这会使整个过程如预期的那样消失。 与TabItem Opacity->TabItem不可见的结果相同。 接下来,我将TabItems Foreground、BorderBrush和Backgroun

我有一个TabControl和一些TabItems。每个选项卡项都有一个网格,其中包含一个文本块和一个图像,其中包含透明区域

我的目标是使文本和图像完全可见,并通过透明区域看到窗口。背景图像

问题:不管我怎么做,我设置的图像和文本块后面都有一个白色背景

我尝试将TabControl不透明度设置为0,但这会使整个过程如预期的那样消失。 与TabItem Opacity->TabItem不可见的结果相同。 接下来,我将TabItems Foreground、BorderBrush和Background设置为Opacity=“0”,什么都不会改变:(

我对WPF比较陌生,英语不是我的母语,所以请原谅我的问题是愚蠢的,我的英语很差

提前谢谢

编辑(屏幕快照链接):


我不能发布截图,因为我没有10个声誉,所以我添加了链接。

我删除了图像,只保留了文本框,因此不存在任何混淆

您需要制作一个自定义的TabItem ControlTemplate来执行此操作

下面是一个稍微修改过的TabItem ControlTemplate(从一个略为修改):



您可能需要对其进行一些修改,以显示所选的TabItem(在IsSelected上的触发器中)。

您可以上传一些屏幕截图并准确显示希望透明的部分吗。
<SolidColorBrush x:Key="SolidBorderBrush" Color="#888" />

<SolidColorBrush x:Key="DisabledBorderBrush" Color="#AAA" />

<SolidColorBrush x:Key="DisabledForegroundBrush" Color="#888" />

<Style TargetType="{x:Type TabItem}">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type TabItem}">
                <Grid Background="Transparent">
                    <Border 
                            Name="Border"
                            Margin="0,0,-4,0" 
                            Background="Transparent"
                            BorderBrush="{StaticResource SolidBorderBrush}" 
                            BorderThickness="1,1,1,1" 
                            CornerRadius="2,12,0,0" >
                        <ContentPresenter x:Name="ContentSite"
                              VerticalAlignment="Center"
                              HorizontalAlignment="Center"
                              ContentSource="Header"
                              Margin="12,2,12,2"
                              RecognizesAccessKey="True"/>
                    </Border>
                </Grid>
                <ControlTemplate.Triggers>
                    <Trigger Property="IsSelected" Value="True">
                        <Setter Property="Panel.ZIndex" Value="100" />
                        <Setter TargetName="Border" Property="BorderThickness" Value="1,1,1,0" />
                    </Trigger>
                    <Trigger Property="IsEnabled" Value="False">
                        <Setter TargetName="Border" Property="BorderBrush" Value="{StaticResource DisabledBorderBrush}" />
                        <Setter Property="Foreground" Value="{StaticResource DisabledForegroundBrush}" />
                    </Trigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>