27

私は WPF でクラスを使用していますが、それぞれのコンテンツのデフォルトの余白がすべての辺で 4 ピクセルであるTabControlことに気付きました。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>

スクリーンショット:

TabItem のコンテンツの周囲の余白

このマージンを取り除きたい (ゼロに減らしたい) のですが、テンプレートやそのような重いものを完全に置き換える必要はありません。

非常に的を絞った方法でこれを行う簡単な方法はありますか?

4

4 に答える 4

53

TabControl で Padding をゼロに設定するだけです。

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

TabControl のデフォルト スタイルは、Padding を 4 に設定し、コンテンツ ホストの Margin を TabControl の Padding にバインドします。

于 2010-08-03T01:43:56.937 に答える
4

ピンクのボックスを黒の境界線まで拡張し、間に白を入れないようにする場合は、独自のコントロール テンプレートを作成する必要のない簡単な方法があります。

TabItem のデフォルト スタイルには、コンテンツ プレゼンターの周囲に 4 のマージンがあります。これを補正する簡単な方法は、TabItem 内のコントロールのマージンを -4 にすることです。

   <TabItem>
     <Grid Margin="-4">
     </Grid>
   <TabItem>
于 2011-10-14T02:59:39.050 に答える
1

TabItems の独自のコントロール テンプレートを記述します。TabItem ControlTemplate の例を参照してください。

于 2010-08-02T17:21:58.533 に答える
0

Tab の代わりに TabItem の余白を設定します

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

TabItem のマージンを 0 に設定します。これにより、デフォルトのマージンが上書きされ、要件に従って機能します

于 2012-06-03T14:45:59.977 に答える