WPF ItemContainerStyle用の再利用可能なテンプレートを作成しようとしています。WPFスタイルにプロパティを渡す方法
このテンプレートは、TabControlのアイテムの表示方法を変更します。 このテンプレートは、アプリケーションのいくつかの場所で使用するためのものです。
それぞれの場所で使用されていますが、別のパラメータを渡したいと思っています。たとえば :項目のボーダーの余白を変更するには:
<Style x:Key="TabItemStyle1" TargetType="{x:Type TabItem}">
<Setter Property="Margin" Value="10,0"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TabItem}">
<Grid SnapsToDevicePixels="true">
<Border x:Name="Bd" Width="80"
Background="Gray"
Margin="{TemplateBinding Margin}">
<ContentPresenter x:Name="Content"
ContentSource="Header" />
</Border>
</Grid>
<ControlTemplate.Triggers>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
...
<TabControl ItemContainerStyle="{DynamicResource TabItemStyle1}">
スタイルは私のようなものを書きたい使用されている場所では:
ItemContainerStyle="{DynamicResource TabItemStyle1 Margin='5,0'}"
または
<TabControl Margin="78,51,167,90" ItemContainerStyle="{DynamicResource TabItemStyle1}"
ItemContainerStyle.Margin="5,0">
このテンプレートは、さまざまなマージンの異なる場所で使用することを目指しています。 これを行う方法はありますか?
はあなたに
ありがとうThomas、あなたの最初の答えははっきりとエレガントですが、私は追加のC#コードを書くことなくこれを行う方法を望んでいました。上記の私の答えはこれを行うが、再び小さな静的クラスを書くことは大したことではなく、もっとエレガントになるかもしれない。ありがとうございました。 –
ところで - 私の答え(上記)は静的なプロパティを使用しています。 –