WPF ItemContainerStyle の再利用可能なテンプレートを作成しようとしています。
このテンプレートは、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">
動機は、このテンプレートをさまざまなマージンでさまざまな場所で使用することです。これを行う方法はありますか?
ありがとうございました