我为我的应用程序中的所有 TabControl 创建了一个控件模板。该模板将 TabPanel 放置在选项卡项的主要内容的左侧。
<Style TargetType="{x:Type TabControl}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TabControl}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TabPanel Grid.Column="0"
Panel.ZIndex="1"
Margin="0,0,0,0"
IsItemsHost="True"
Background="Transparent" />
<Border Grid.Column="1"
BorderBrush="Black"
BorderThickness="1"
CornerRadius="0,12,12,12">
<Border.Background>
<SolidColorBrush Color="Green" />
</Border.Background>
<ContentPresenter ContentSource="SelectedContent" />
</Border>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
这最初是我希望我的选项卡控件看起来的样子。但是当我将 TabStripPlacement 属性设置为 Top 时,它仍然停留在左侧。有没有办法在控件模板中定义根据 TabStrip 属性调整 TabPanel 的位置?提前致谢。