2010-08-02 94 views
21

我在WPF中使用TabControl類,我注意到每個TabItem的內容都有4像素的默認邊界。如何刪除TabItem內容的默認邊距?

示例代碼:

<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

我想擺脫這種保證金(其降低到零),但我不希望必須完全取代模板或類似的東西。

有沒有一種簡單的方法可以以非常有針對性的方式做到這一點?

回答

40

只需設置填充到零上的TabControl:

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

的TabControl的默認樣式設置填充爲4,結合對內容的保證金主機到TabControl上的填充。

+0

哈哈!天才!在那裏我正在搞TabItems。 :) – 2010-08-03 07:15:18

+0

特別綁定到選項卡控件的填充。 – Hans 2014-12-04 00:42:17

3

如果您希望將粉紅色方塊一直展開到黑色邊框線,並且兩者之間沒有白色,則有一種簡單的方法,無需製作自己的控件模板。

TabItem的默認樣式在內容展示器周圍的邊距爲4。補償這一點的一種快速方法是在TabItem -4內控制邊緣。

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

我試圖減少標題文本中的邊距/填充,這個技巧使它成爲可能! – mdisibio 2013-02-15 19:49:43

0

設置保證金的TabItem的替代選項卡

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

爲TabItem的保證金設置爲0,這將覆蓋默認的利潤率和工作按您的要求