Block.Padding Свойство

Определение

Получает или задает толщину заполнения для элемента.

public:
 property System::Windows::Thickness Padding { System::Windows::Thickness get(); void set(System::Windows::Thickness value); };
public System.Windows.Thickness Padding { get; set; }
member this.Padding : System.Windows.Thickness with get, set
Public Property Padding As Thickness

Значение свойства

Thickness

Структура Thickness, которая задает применяемое значение ширины внутренних полей в аппаратно-независимых точках. Значение по умолчанию — единая нулевая толщина (0,0).

Примеры

В следующем примере показано, как задать Padding атрибут Block элемента ( Paragraph ).

<FlowDocument Background="LightSlateGray" ColumnWidth="2000">
  <Section Background="DarkMagenta" Margin="0" Padding="0">
    <Paragraph Background="White">
      <Run>Default paragraph.</Run>
    </Paragraph>
    <Paragraph Background="White">
      <Run>Default paragraph.</Run>
    </Paragraph>
    <Paragraph Background="LightBlue" Margin="50">
      <Run>This paragraph has a magin of 50 pixels set, but no padding.</Run>
    </Paragraph>
    <Paragraph Background="LightCoral" Padding="50">
      <Run>This paragraph has padding of 50 pixels set, but no margin.</Run>
    </Paragraph>
    <Paragraph Background="LightGreen" Margin="50" Padding="50">
      <Run>This paragraph has both padding and margin set to 50 pixels.</Run>
    </Paragraph>
    <Paragraph Background="White">
      <Run>Default paragraph.</Run>
    </Paragraph>
    <Paragraph Background="White">
      <Run>Default paragraph.</Run>
    </Paragraph>
  </Section>
</FlowDocument>

На следующем рисунке показано, как отображается предыдущий пример. Для иллюстрации используются преувеличенныхные толщины и цвета.

Снимок экрана: параграфы с заполнениями и границами

В следующем примере показано, как задать Padding свойство программным способом.

FlowDocument flowDoc = new FlowDocument();
Section sec = new Section();

flowDoc.Background = Brushes.LightSlateGray;
flowDoc.ColumnWidth = 2000;
sec.Background = Brushes.DarkMagenta;
sec.Padding = sec.Margin = new Thickness(0);

Paragraph defPar1 = new Paragraph(new Run("Default paragraph."));
Paragraph defPar2 = new Paragraph(new Run("Default paragraph."));
Paragraph defPar3 = new Paragraph(new Run("Default paragraph."));
Paragraph defPar4 = new Paragraph(new Run("Default paragraph."));
defPar1.Background = defPar2.Background = defPar3.Background = defPar4.Background = Brushes.White;

Paragraph marginPar = new Paragraph(new Run("This paragraph has a magin of 50 pixels set, but no padding."));
marginPar.Background = Brushes.LightBlue;
marginPar.Margin = new Thickness(50);
Paragraph paddingPar = new Paragraph(new Run("This paragraph has padding of 50 pixels set, but no margin."));
paddingPar.Background = Brushes.LightCoral;
paddingPar.Padding = new Thickness(50);
Paragraph marginPaddingPar = new Paragraph(new Run("This paragraph has both padding and margin set to 50 pixels."));
marginPaddingPar.Background = Brushes.LightGreen;
marginPaddingPar.Padding = marginPaddingPar.Margin = new Thickness(50);

sec.Blocks.Add(defPar1);
sec.Blocks.Add(defPar2);
sec.Blocks.Add(marginPar);
sec.Blocks.Add(paddingPar);
sec.Blocks.Add(marginPaddingPar);
sec.Blocks.Add(defPar3);
sec.Blocks.Add(defPar4);
flowDoc.Blocks.Add(sec);
Dim flowDoc As New FlowDocument()
Dim sec As New Section()

flowDoc.Background = Brushes.LightSlateGray
flowDoc.ColumnWidth = 2000
sec.Background = Brushes.DarkMagenta
sec.Margin = New Thickness(0)
sec.Padding = sec.Margin

Dim defPar1 As New Paragraph(New Run("Default paragraph."))
Dim defPar2 As New Paragraph(New Run("Default paragraph."))
Dim defPar3 As New Paragraph(New Run("Default paragraph."))
Dim defPar4 As New Paragraph(New Run("Default paragraph."))
defPar4.Background = Brushes.White
defPar3.Background = defPar4.Background
defPar2.Background = defPar3.Background
defPar1.Background = defPar2.Background

Dim marginPar As New Paragraph(New Run("This paragraph has a magin of 50 pixels set, but no padding."))
marginPar.Background = Brushes.LightBlue
marginPar.Margin = New Thickness(50)
Dim paddingPar As New Paragraph(New Run("This paragraph has padding of 50 pixels set, but no margin."))
paddingPar.Background = Brushes.LightCoral
paddingPar.Padding = New Thickness(50)
Dim marginPaddingPar As New Paragraph(New Run("This paragraph has both padding and margin set to 50 pixels."))
With marginPaddingPar
    .Background = Brushes.LightGreen
    .Margin = New Thickness(50)
    .Padding = marginPaddingPar.Margin
End With

sec.Blocks.Add(defPar1)
sec.Blocks.Add(defPar2)
sec.Blocks.Add(marginPar)
sec.Blocks.Add(paddingPar)
sec.Blocks.Add(marginPaddingPar)
sec.Blocks.Add(defPar3)
sec.Blocks.Add(defPar4)
flowDoc.Blocks.Add(sec)

Комментарии

Padding — это буферное пространство, которое попадает внутрь области содержимого элемента между содержимым элемента и внутренней границей элемента. Сравните с Margin , который является буферным пространством, находящимся за пределами области содержимого элемента, между краями области содержимого элемента и краями родительского элемента.

Использование атрибута XAML

<object Padding="uniformThickness"/>  
- or -  
<object Padding="independentThickness"/>  
- or -  
<object Padding="qualifiedUniformThickness"/>  
- or -  
<object Padding="qualifiedIndependentThickness"/>  

Значения XAML

униформсиккнесс
Строковое представление одиночного Double значения, которое применяется единообразно ко всем четырем измерениям толщины. Например, значение "10" эквивалентно значению "10,10,10,10" . Неполное значение измеряется в аппаратно-независимых пикселях. Строки не должны явно включать десятичные разделители.

индепендентсиккнесс
Строковое представление четырех упорядоченных Double значений, соответствующих независимым измерениям толщины для левого, верхнего, правого и нижнего границ в указанном порядке. Четыре значения должны быть разделены запятыми; пробелы не допускаются. Например, "5, 10, 15, 20" приводит к последующим 5 пикселам заполнения слева от содержимого, 10 пикселов заполнения над содержимым, 15 пикселей заполнения справа от содержимого и 20 пикселей отступа под содержимым.

куалифиедуниформсиккнесс
Значение, описываемое параметром униформсиккнесс , за которым следует один из следующих описателей единиц измерения: px , in .

px (по умолчанию) — аппаратно-независимые единицы (1/1/96 дюйма на единицу)

in — дюймы; 1in = = 96 пикселей

Например, "1in" обеспечивает однородное заполнение на 1 дюйм во всех направлениях.

куалифиединдепендентсиккнесс
Значение, описываемое индепендентсиккнесс, с каждым независимым значением, за которым следует один из следующих спецификаторов единиц измерения: px , in .

px (по умолчанию) — аппаратно-независимые единицы (1/1/96 дюйма на единицу)

in — дюймы; 1in = = 96 пикселей

Например, "1.5in,0.8in,1.5in,0.8in". Описатели единиц измерения могут быть смешанными или опущенными в одном или нескольких значениях.

Сведения о свойстве зависимостей

Поле идентификатора PaddingProperty
Свойства метаданных, для которых задано значение true AffectsMeasure

Применяется к

См. также раздел