Block.Margin Свойство

Определение

Получает или задает толщину поля для элемента.Gets or sets the margin thickness for the element.

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

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

Структура Thickness, которая указывает применяемое значение поля в аппаратно-независимых пикселях.A Thickness structure that specifies the amount of margin to apply, in device independent pixels. Значение по умолчанию — единая нулевая толщина (0,0).The default is a uniform thickness of zero (0.0).

Примеры

В следующем примере показано, Margin как задать атрибут Block элемента (Paragraph).The following example shows how to set the Margin attribute of a Block element (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>

На следующем рисунке показано, как отображается предыдущий пример.The following figure shows how the preceding example renders. Для иллюстрации используются преувеличенныхные толщины и цвета.Exaggerated thicknesses and colors are used for illustration.

![Снимок экрана Снимок экрана с абзацами с заполнением и полями]:(~/add/media/block-marginpadding.png " Абзацы с заполнением и полями")Screenshot: Paragraphs with padding and margins

В следующем примере показано, как задать Margin свойство программным способом.The following example shows how to set the Margin property programmatically.

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)

Комментарии

Margin— это буферное пространство, находящееся вне области содержимого элемента, между краями области содержимого элемента и краями родительского элемента.Margin is buffer space that falls outside an element's content area, between the edges of the element's content area and the edges of the parent element. Сравните с Padding, который является буферным пространством, находящимся внутри области содержимого элемента, между содержимым элемента и внутренним ребром элемента.Contrast with Padding, which is buffer space that falls inside an element's content area, between the element's content and the inner edge of the element.

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

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

Значения XAMLXAML Values

униформсиккнессuniformThickness
Строковое представление одиночного Double значения, которое применяется единообразно ко всем четырем измерениям толщины.String representation of a single Double value to apply uniformly to all four thickness dimensions. Например, значение "10" эквивалентно "10,10,10,10"значению.For example, a value of "10" is equivalent to a value of "10,10,10,10". Неполное значение измеряется в аппаратно-независимых пикселях.An unqualified value is measured in device independent pixels. Строки не должны явно включать десятичные разделители.Strings need not explicitly include decimal points.

индепендентсиккнессindependentThickness
Строковое представление четырех упорядоченных Double значений, соответствующих независимым измерениям толщины для левого, верхнего, правого и нижнего границ в указанном порядке.String representation of four ordered Double values corresponding to independent thickness dimensions for left, top, right, and bottom, in this order. Четыре значения должны быть разделены запятыми; пробелы не допускаются.The four values must be separated with commas; spaces are not allowed. Например, "5, 10, 15, 20" приводит к погрешности в 5 пикселей слева от содержимого, 10 пикселей поля над содержимым, 15 пикселей поля справа от содержимого и 20 пикселей поля под содержимым.For example, "5,10,15,20" results in 5 pixels of margin to the left of content, 10 pixels of margin above content, 15 pixels of margin to the right of content, and 20 pixels of margin below the content.

куалифиедуниформсиккнессqualifiedUniformThickness
Значение, описываемое параметром униформсиккнесс , за которым следует один из следующих описателей inединиц измерения: px,.A value described by uniformThickness followed by one of the following unit specifiers: px, in.

px(по умолчанию)аппаратно-независимые единицы (1/96 дюйма на единицу)device-independent units (1/96th inch per unit)px (default) is аппаратно-независимые единицы (1/96 дюйма на единицу)device-independent units (1/96th inch per unit)

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

Например, "1in" предоставляет единое поле шириной в 1 дюйм во всех направлениях.For example, "1in" provides uniform margin of 1 inch in all directions.

куалифиединдепендентсиккнессqualifiedIndependentThickness
Значение, описываемое индепендентсиккнесс, с каждым независимым значением, за которым следует один из следующих спецификаторов inединиц измерения: px,.A value described by independentThickness, with each independent value followed by one of the following unit specifiers: px, in.

px(по умолчанию)аппаратно-независимые единицы (1/96 дюйма на единицу)device-independent units (1/96th inch per unit)px (default) is аппаратно-независимые единицы (1/96 дюйма на единицу)device-independent units (1/96th inch per unit)

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

Например, "1.5in,0.8in,1.5in,0.8in".For example, "1.5in,0.8in,1.5in,0.8in". Описатели единиц измерения могут быть смешанными или опущенными в одном или нескольких значениях.Unit specifiers may be mixed or omitted from one or more values.

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

Поле идентификатораIdentifier field MarginProperty
Свойства метаданных, для которых задано значениеtrueMetadata properties set to true AffectsMeasure

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

Дополнительно