在 Silverlight 中隐藏选项卡 headers

Hiding Tab headers in Silverlight

我尝试了几种方法,但我无法做到。如何在 Silverlight 的选项卡控件中隐藏选项卡 headers。我在互联网上搜索过,但大多数解决方案都是针对 WPF 的。

我有在选项卡之间导航的按钮,但我不想让用户看到 headers。

谢谢。

按照 Martin 的建议,我使用了 Microsoft 模板来解决问题。

首先,site 上的 TabItem 和 TabControl 有很好的默认模板。我用过。

此代码适用于 silverlight 5,对于 silvelight 3 或 4,您需要更改 "sdk"。你需要像我给的网站里的那样使用。

我只是获取了模板的相关部分,我不确定是否获取所有模板并仅更新此相关部分。然而,当像下面的代码那样使用时,即只有模板的相关部分,它工作正常。

<StackPanel Grid.Row ="1" Grid.Column="1" >
<StackPanel.Resources>
    <Style TargetType="sdk:TabControl" x:Key="HeaderTemplate">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="sdk:TabControl">
                    <!--here comes the template-->  
                    <Grid x:Name="TemplateTop" Visibility="Collapsed">
                        <Grid.RowDefinitions>
                            <RowDefinition Height="Auto"/>
                            <RowDefinition Height="*"/>
                        </Grid.RowDefinitions>
                        <controlsPrimitives:TabPanel x:Name="TabPanelTop" Margin="2,2,2,-1" Canvas.ZIndex="1" Visibility="Collapsed"/>
                        <Border MinHeight="10" MinWidth="10" Grid.Row="1" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="0,0,3,3">
                            <ContentPresenter x:Name="ContentTop" Cursor="{TemplateBinding Cursor}" HorizontalAlignment="{TemplateBinding HorizontalAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalAlignment}"/>
                        </Border>
                        <Border x:Name="DisabledVisualTop" IsHitTestVisible="False" Opacity="0" Grid.Row="1" Grid.RowSpan="2" Canvas.ZIndex="1" Background="#8CFFFFFF" CornerRadius="0,0,3,3"/>
                    </Grid>

                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</StackPanel.Resources>

<sdk:TabControl Style="{StaticResource HeaderTemplate}">
    <sdk:TabItem>
    </sdk:TabItem>
    <!--your tabes comes here-->  
</sdk:TabControl></StackPanel>

我想你可以直接使用

之间的部分
<StackPanel.Resources>...</StackPanel.Resources>

希望对遇到同样问题的人有所帮助。

也有类似的问题和答案here