WPF标签边距

我有一个WPF TabControl,带有一些TabItems。 如果有意义的话,我想在TabItems组的左边和右边留有边距。

我将在下面画一些ASCII艺术来表达观点。 我想要在第一个标签左边的固定边距,但我也想在第三个标签右边有一个固定边距。

|--------------------------------------------------|
|            |-----||-----||-----|                 |
| <-Margin-> |  1  ||  2  ||  3  | <-Margin->      |
|------------|     ||-----||-----|-----------------|
|                                                  |
|  How do I get margin or padding on both          |
|    sides of my tabs?                             |
|                                                  |
|                                                  |
|--------------------------------------------------|

选项卡的数量是无限的,所以它们会随着更多的添加而堆叠。 它需要为此正确工作。

另外,请注意,我不想让整个选项卡控制变得更小。 只是tabitem选项卡或标题或任何他们是。

我发现如果我将选项卡设置为“60,0,-60,0”之类的边距,我会在选项卡左侧获得理想的效果,但这看起来像是黑客,并且不起作用为右手边。

我在VS 2010中使用WPF 4.0。

干杯!


尝试使用这种风格。

   <Style  TargetType="{x:Type TabControl}">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type TabControl}">
                        <Grid>
                            <Grid.RowDefinitions>
                                <RowDefinition Height="Auto"/>
                                <RowDefinition Height="*"/>
                            </Grid.RowDefinitions>
                            <TabPanel
             Grid.Row="0"
             Panel.ZIndex="1"
             Margin="60,0,60,-1"
             IsItemsHost="True"
             Background="Transparent" />
                            <Border
             Grid.Row="1"
             BorderBrush="Black"
             BorderThickness="1"
             CornerRadius="0, 12, 12, 12" >
                                <Border.Background>
                                    <LinearGradientBrush>
                                        <GradientStop Color="LightBlue" Offset="0" />
                                        <GradientStop Color="White" Offset="1" />
                                    </LinearGradientBrush>
                                </Border.Background>
                                <ContentPresenter ContentSource="SelectedContent" />
                            </Border>
                        </Grid>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

编辑

您可以将边距直接提供给tabcontrol的controltemplate内的tabpanel

查看更多链接

http://www.switchonthecode.com/tutorials/the-wpf-tab-control-inside-and-out

链接地址: http://www.djcxy.com/p/51653.html

上一篇: WPF Tab Margins

下一篇: Cleanly uninstall Rspec and use vanilla Unit::Test in Rails 3.x