WPF TabControl 只显示选项卡没有内容

WPF TabControl show tabs only no content

想法是简单地使用选项卡 (headers) 进行选择。所以 "content" 是不必要的。而且我似乎找不到一种简单的方法来制作内容 "empty" 或占用零高度。

所以在视觉上,您应该只看到选项卡,没有其他东西。

能否自定义 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>

您可以使用重叠的选项卡形按钮,您实际上并不需要选项卡控件。

Here 是如何在 WPF 中创建自定义形状的按钮。

是如何创建标签形按钮。

要隐藏选项卡的内容,您可以覆盖 TabControl 的 ContentTemplate。

<TabControl>
    <TabControl.ContentTemplate>
         <DataTemplate/>
    </TabControl.ContentTemplate>
</TabControl>