Я использую класс TabControl в WPF и заметил, что содержимое каждого TabItem имеет поле по умолчанию 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>
Снимок экрана:
Я бы хотел избавиться от этого поля (уменьшить его до нуля), но Я бы предпочел не делать этогодолжны полностью заменить шаблоны или что-нибудь в этом роде тяжелое.
Есть ли простой способ сделать это очень целенаправленным образом?
Просто установите Padding в ноль на TabControl:
<TabControl Margin="10" Padding="0">
Стиль по умолчанию для TabControl устанавливает значение Padding равным 4 и связывает поле на хосте содержимого с отступом на элементе TabControl.
Если вы хотите, чтобы розовая рамка расширилась до черной границы без белого между ними, есть простой способ, который не требует создания собственного шаблона управления.Стиль по умолчанию для TabItem имеет поле 4 вокруг предъявителя контента.Быстрый способ компенсировать это - создать поле элемента управления внутри TabItem -4.
<TabItem> <Grid Margin="-4"> </Grid> <TabItem>
Напишите свой собственный шаблон управления для TabItems, см. Пример TabItem ControlTemplate
Установите поле для TabItem вместо Tab
<TabItem Margin="0,0,0,0"/>
Установите для поля TabItem значение 0, это переопределит поле по умолчанию и будет работать в соответствии с вашими требованиями