Поля и заполнениеMargin and Padding

Поля и свойства заполнения управлять поведением макета, когда элемент отображается в пользовательском интерфейсе. В этой статье показано различие между двумя свойствами, а также об их настройке.The Margin and Padding properties control layout behavior when an element is rendered in the user interface. This article demonstrates the difference between the two properties, and how to set them.

ОбзорOverview

Поля и заполнение — макет связанные понятия:Margin and padding are related layout concepts:

  • Margin Свойство представляет расстояние между элементом и его соседние элементы и используется для управления положением отрисовки элемента и положения своих соседей.The Margin property represents the distance between an element and its adjacent elements, and is used to control the element's rendering position, and the rendering position of its neighbors. Margin значение должно лежать в макета и представление классы.Margin values can be specified on layout and view classes.
  • Padding Свойство представляет расстояние между элементом и его дочерние элементы и используется для разделения его собственного содержимого элемента управления.The Padding property represents the distance between an element and its child elements, and is used to separate the control from its own content. Padding значение должно лежать в макета классы.Padding values can be specified on layout classes.

На следующей схеме эти два понятия:The following diagram illustrates the two concepts:

Обратите внимание, что Margin значения являются аддитивными.Note that Margin values are additive. Таким образом Если два соседних элемента задать поля 20 точек, расстояние между элементами будет 40 пикселей.Therefore, if two adjacent elements specify a margin of 20 pixels, the distance between the elements will be 40 pixels. Кроме того, поля и заполнение являются аддитивный, если оба применяются, в том, что расстояние между элементом и любое содержимое будет иметь поля, а также заполнения.In addition, margin and padding are additive when both are applied, in that the distance between an element and any content will be the margin plus padding.

Указание толщинуSpecifying a Thickness

Margin И Padding свойства имеют тип Thickness .The Margin and Padding properties are both of type Thickness. Возможны три варианта при создании Thickness структуры:There are three possibilities when creating a Thickness structure:

  • Создание Thickness структуры, определяемой одно значение универсального кода.Create a Thickness structure defined by a single uniform value. Одно значение применяется к левой, верхней, правой и нижней сторон элемента.The single value is applied to the left, top, right, and bottom sides of the element.
  • Создание Thickness структуры, определяемой по горизонтали и вертикали значениям.Create a Thickness structure defined by horizontal and vertical values. Значением по вертикали симметрично, применяемая к верхней и нижней сторон элемента левой и правой сторон элемента, симметрично применяется значение по горизонтали.The horizontal value is symmetrically applied to the left and right sides of the element, with the vertical value being symmetrically applied to the top and bottom sides of the element.
  • Создание Thickness структуры, определяемой четыре разных значения, которые применяются к левой, верхней, правой и нижней сторон элемента.Create a Thickness structure defined by four distinct values that are applied to the left, top, right, and bottom sides of the element.

В следующем примере кода XAML показаны все три варианта:The following XAML code example shows all three possibilities:

<StackLayout Padding="0,20,0,0">
  <Label Text="Xamarin.Forms" Margin="20" />
  <Label Text="Xamarin.iOS" Margin="10, 15" />
  <Label Text="Xamarin.Android" Margin="0, 20, 15, 5" />
</StackLayout>

Эквивалентный код на языке C# показан в следующем примере:The equivalent C# code is shown in the following code example:

var stackLayout = new StackLayout {
  Padding = new Thickness(0,20,0,0),
  Children = {
    new Label { Text = "Xamarin.Forms", Margin = new Thickness (20) },
    new Label { Text = "Xamarin.iOS", Margin = new Thickness (10, 25) },
    new Label { Text = "Xamarin.Android", Margin = new Thickness (0, 20, 15, 5) }
  }
};

Примечание

Thickness значения могут быть отрицательным, который обычно отсекает или обрезку элементов содержимого.Thickness values can be negative, which typically clips or overdraws the content.

СводкаSummary

В этой статье показано различие между Margin и Padding свойства и их настройке.This article demonstrated the difference between the Margin and Padding properties, and how to set them. Свойства управления поведением макета, когда элемент отображается в пользовательском интерфейсе.The properties control layout behavior when an element is rendered in the user interface.