代码之家  ›  专栏  ›  技术社区  ›  Oleg Sakharov

如何删除TabItem内容的默认边距?

  •  24
  • Oleg Sakharov  · 技术社区  · 16 年前

    我用的是 TabControl TabItem 所有边的默认边距为4像素。

    示例代码:

    <Window x:Class="TabControlPadding.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Window1" Height="300" Width="300">
      <Grid>
        <TabControl Margin="10">
          <TabItem Header="Tab 1">
            <Grid Background="Pink"/>
          </TabItem>
          <TabItem Header="Tab 2">
            <Grid Background="LightBlue"/>
          </TabItem>
        </TabControl>
      </Grid>
    </Window>
    

    The margin around a TabItem's content

    我想去掉这个边距(把它减到零),但是 我不想完全替换模板

    有没有一个简单的方法,我可以做到这一点非常有针对性的方式?

    4 回复  |  直到 13 年前
        1
  •  50
  •   Quartermeister    16 年前

    <TabControl Margin="10" Padding="0">
    

    TabControl的默认样式将Padding设置为4,并将内容宿主上的边距绑定到TabControl上的Padding。

        2
  •  3
  •   Ryan    15 年前

    如果您希望使粉色框一直扩展到黑色边界线,中间没有白色,那么有一种简单的方法不需要创建自己的控件模板。

    TabItem的默认样式在内容演示者周围有4个边距。一种快速的补偿方法是在TabItem-4中设置控件的边距。

       <TabItem>
         <Grid Margin="-4">
         </Grid>
       <TabItem>
    
        3
  •  1
  •   Wallstreet Programmer    16 年前

    为TabItems编写自己的controltemplate,请参见 TabItem ControlTemplate Example

        4
  •  0
  •   Artiom    13 年前

        <TabItem Margin="0,0,0,0"/>
    

    将TabItem的边距设置为0,这将覆盖默认边距并根据您的要求工作