WPF TabControl仅显示选项卡,不显示内容

wvt8vs2t  于 2023-03-19  发布在  其他
关注(0)|答案(4)|浏览(340)

这个想法是简单地使用标签(标题)来进行选择。所以“内容”是不必要的。而且我似乎找不到一个简单的方法来使内容“空”或占用零高度。
因此,在视觉上,应该只显示选项卡,没有其他内容。

0ve6wy6x

0ve6wy6x1#

要隐藏选项卡的内容,可以重写TabControl的ContentTemplate。

<TabControl>
    <TabControl.ContentTemplate>
         <DataTemplate/>
    </TabControl.ContentTemplate>
</TabControl>
2ekbmq32

2ekbmq322#

您是否可以自定义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>
1aaf6o9v

1aaf6o9v3#

你可以使用重叠的标签形状的按钮,你并不真的需要一个标签控件。
Here介绍了如何在WPF中创建自定义形状的按钮。
here是如何创建一个标签形状的按钮。

huwehgph

huwehgph4#

另一种方法来实现这一点:

<TabControl Padding="0" BorderThickness="0">
    <TabControl.ContentTemplate>
        <DataTemplate>
            <Grid/>
        </DataTemplate>
    </TabControl.ContentTemplate>
</TabControl>

相关问题