这个想法是简单地使用制表符(标题(进行选择。所以"内容"是不必要的。而且我似乎找不到一种简单的方法来使内容"空"或占据零高度。
因此,从视觉上看,您应该只显示选项卡,没有其他内容。
若要隐藏选项卡的内容,可以覆盖 TabControl 的内容模板。
<TabControl>
<TabControl.ContentTemplate>
<DataTemplate/>
</TabControl.ContentTemplate>
</TabControl>
您能否自定义 MSDN 示例中的ControlTemplate
并删除所选内容:https://msdn.microsoft.com/en-us/library/ms754137(v=vs.90(.aspx
所以它会变成这样:
<Style TargetType="{x:Type TabControl}">
<Setter Property="OverridesDefaultStyle" Value="True" />
<Setter Property="SnapsToDevicePixels" Value="True" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TabControl}">
<Grid KeyboardNavigation.TabNavigation="Local">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TabPanel
Name="HeaderPanel"
Grid.Row="0"
Panel.ZIndex="1"
Margin="0,0,4,-1"
IsItemsHost="True"
KeyboardNavigation.TabIndex="1"
Background="Transparent" />
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Foreground" Value="{StaticResource DisabledForegroundBrush}" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
您可以使用重叠的选项卡形状按钮,您实际上不需要选项卡控件。
下面介绍如何在 WPF 中创建自定义形状的按钮。
这是创建选项卡形按钮的方法。
另一种方法可以做到这一点:
<TabControl Padding="0" BorderThickness="0">
<TabControl.ContentTemplate>
<DataTemplate>
<Grid/>
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>