0
wpf TabControlにいくつかの魅力的なことを行うスタイルがあります。その中で、ユーザーはタブの名前を変更できるHeaderTemplateを設定します。私はいくつかのパラメータに基づいてテキストを色付けするこのテンプレートに基づいたスタイルを持っています、そして、いくつかの条件に応じて各タブのヘッダーにポリゴンを追加したいと思います。DataTemplateを拡張して追加のコントロールを追加する方法
だから、基本スタイルは、次のようになります。
<Style TargetType="TabItem" x:Key="EditableTabItemStyle"
BasedOn="{StaticResource BaseTabItemStyle}">
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate>
<controls:EditableTabContent Template="{StaticResource EditableTabItemTemplate}"
Content="{Binding Path=., Mode=TwoWay}"/>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
など私の派生ルックス:
<Style x:Key="DerivedTabItem"
BasedOn="{StaticResource EditableTabItemStyle}"
TargetType="TabItem">
<Setter Property="Foreground">
<Setter.Value>
<MultiBinding Converter="{StaticResource StateToColorConverter}">
<Binding Path="States.State1" />
<Binding Path="States.State2" />
</MultiBinding>
</Setter.Value>
</Setter>
私が好ましくせずに、派生スタイルにポリゴンを追加するために探しています基本スタイルを変更したので、私の最初の考えはヘッダーテンプレートを追加することでした:
<Setter Property="HeaderTemplate">
<Setter.Value>
<!-- Old header template -->
<!-- Polygon -->
</Setter.Value>
</Setter>
しかし、これは編集可能なスタイリングを上書きします。私が望むものが可能なのかどうかは分からないので、もし必要なら答えを取るつもりですが、それができたらどうしたらいいですか?
くそー、私は積極的にそれを避けることを望んでいた。誰かが巧妙な仕事をしているかどうかを確認するために数日待つが、答えがあなたのものではない。 –