私はTabControlののスタイルをしようとしていると、そこに道の75%を持っているが、私は困難実際TabItemsのスタイリングを持っている:WPFのTabItemのヘッダースタイリング
私がしようとしていますどのような実現するのはデフォルトのContentPresenterを削除することで、今ではプレースホルダーの赤と緑ではなく、丸いエッジでタブ項目を部分的に透明にすることができます。
私はそれがおそらくそれほど難しくないと確信していますが、私はそれを理解することができないので、どんな助けでも大歓迎です!ここで
は、これまでのTabControlのためのXAMLです:
<TabControl TabStripPlacement="Left" HorizontalAlignment="Stretch" BorderBrush="#41020202">
<TabControl.BitmapEffect>
<DropShadowBitmapEffect Color="Black" Direction="270"/>
</TabControl.BitmapEffect>
<TabControl.Resources>
<Style TargetType="{x:Type TabItem}">
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Padding" Value="0" />
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate>
<Border x:Name="grid" Background="Red">
<ContentPresenter>
<ContentPresenter.Content>
<TextBlock Margin="4" FontSize="15" Text="{TemplateBinding Content}"/>
</ContentPresenter.Content>
<ContentPresenter.LayoutTransform>
<RotateTransform Angle="270" />
</ContentPresenter.LayoutTransform>
</ContentPresenter>
</Border>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type TabItem}},Path=IsSelected}" Value="True">
<Setter TargetName="grid" Property="Background" Value="Green"/>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</TabControl.Resources>
<TabControl.Background>
<RadialGradientBrush Center="-0.047,0.553" GradientOrigin="-0.047,0.553" RadiusY="1.231" RadiusX="0.8">
<GradientStop Offset="1" Color="#06FFFFFF"/>
<GradientStop Color="#14FFFFFF"/>
</RadialGradientBrush>
</TabControl.Background>
<TabItem Header="Tab Item 1" />
<TabItem Header="Tab Item 2" />
<TabItem Header="Tab Item 3" />
<TabItem Header="Tab Item 4" />
</TabControl>
コンテンツのプレゼンターは、タブ内のテキストを示したものです。灰色の背景を削除したいのですか? – Carlo
グリッドの背景を削除すると、デフォルトのグレーのタブスタイルが得られ、部分的に透明で丸みのあるコーナーボーダーに置き換えてくれます。 –