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

发布于 2024-09-12 07:50:20 字数 856 浏览 5 评论 0原文

我在 WPF 中使用 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>

屏幕截图:

TabItem 内容周围的边距

我想去掉这个边距(将其减少到零) ),但是我不想完全替换模板或类似的东西。

有没有一种简单的方法可以非常有针对性地做到这一点?

I'm using the TabControl class in WPF and I've noticed that the content of each TabItem has a default margin of 4 pixels on all sides.

Sample code:

<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>

Screenshot:

The margin around a TabItem's content

I'd like to get rid of this margin (reduce it to zero), but I'd prefer not to have to completely replace templates or anything heavy like that.

Is there a simple way I can do this in a very targeted manner?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

落花随流水 2024-09-19 07:50:20

只需将 TabControl 上的 Padding 设置为零:

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

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

Just set Padding to zero on the TabControl:

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

The default style for TabControl sets the Padding to 4 and binds the Margin on the content host to the Padding on the TabControl.

相思故 2024-09-19 07:50:20

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

TabItem 的默认样式在内容呈现器周围有 4 的边距。弥补这一点的快速方法是将 TabItem 内的控件边距设置为 -4。

   <TabItem>
     <Grid Margin="-4">
     </Grid>
   <TabItem>

If you're looking to make the pink box expand all the way to the black border line with no white in between, there is an easy way that doesn't involved making your own control template.

The default style for TabItem has a margin of 4 around the content presenter. A quick way to compensate for this is to make the margin of the control inside the TabItem -4.

   <TabItem>
     <Grid Margin="-4">
     </Grid>
   <TabItem>
怀念你的温柔 2024-09-19 07:50:20

为 TabItem 编写您自己的控件模板,请参阅 TabItem ControlTemplate 示例

Write your own controltemplate for TabItems, see TabItem ControlTemplate Example

三月梨花 2024-09-19 07:50:20

设置 TabItem 的边距而不是 Tab

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

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

Set the margin for the TabItem instead of Tab

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

Set the margin for the TabItem to 0, this will override the default margin and work as per your requirements

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文