我正在尝试为 WPF ItemContainerStyle 编写一个可重用的模板。
这个模板改变了 TabControl 的 Item 的外观。此模板旨在用于应用程序中的多个位置。
在每个使用它的地方,我希望能够向它传递不同的参数。例如:要更改项目的边框的边距:
<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">
动机是在具有不同边距的不同地方使用此模板。有没有办法做到这一点 ?
谢谢