Block.Margin Propiedad

Definición

Obtiene o establece el grosor del margen para el elemento.

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

Valor de propiedad

Thickness

Estructura Thickness que especifica la cantidad de margen que se aplicará, en píxeles independientes de dispositivo. El valor predeterminado es un grosor uniforme de cero (0,0).

Ejemplos

En el ejemplo siguiente se muestra cómo establecer el Margin atributo de un Block elemento (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>

En la ilustración siguiente se muestra cómo se representa el ejemplo anterior. Los grosores y colores exagerados se usan para la ilustración.

Captura de pantalla: Párrafos con relleno y márgenes

En el ejemplo siguiente se muestra cómo establecer la Margin propiedad mediante programación.

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)

Comentarios

Margin es el espacio de búfer que se encuentra fuera del área de contenido de un elemento, entre los bordes del área de contenido del elemento y los bordes del elemento primario. Contrasta con Padding, que es el espacio de búfer que se encuentra dentro del área de contenido de un elemento, entre el contenido del elemento y el borde interno del elemento.

Uso de atributos XAML

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

Valores XAML

uniformThickness
Representación de cadena de un valor único Double que se va a aplicar uniformemente a las cuatro dimensiones de grosor. Por ejemplo, un valor de "10" es equivalente a un valor de "10,10,10,10". Un valor no completo se mide en píxeles independientes del dispositivo. Las cadenas no necesitan incluir explícitamente puntos decimales.

independentThickness
Representación de cadena de cuatro valores ordenados Double correspondientes a dimensiones de grosor independientes para las dimensiones izquierda, superior, derecha e inferior, en este orden. Los cuatro valores deben estar separados con comas; no se permiten espacios. Por ejemplo, "5,10,15,20" da como resultado 5 píxeles de margen a la izquierda del contenido, 10 píxeles de margen por encima del contenido, 15 píxeles de margen a la derecha del contenido y 20 píxeles de margen por debajo del contenido.

qualifiedUniformThickness
Valor descrito por uniformThickness seguido de uno de los siguientes especificadores de unidad: px, in.

px (valor predeterminado) es unidades independientes del dispositivo (1/96 pulgadas por unidad)

in es pulgadas; 1in==96px

Por ejemplo, "1in" proporciona un margen uniforme de 1 pulgada en todas las direcciones.

qualifiedIndependentThickness
Valor descrito por independentThickness, con cada valor independiente seguido de uno de los siguientes especificadores de unidad: px, in.

px (valor predeterminado) es unidades independientes del dispositivo (1/96 pulgadas por unidad)

in es pulgadas; 1in==96px

Por ejemplo, "1.5in,0.8in,1.5in,0.8in". Los especificadores de unidad se pueden mezclar o omitir de uno o varios valores.

Información sobre propiedades de dependencia

Campo identificador MarginProperty
Propiedades de metadatos establecidas en true AffectsMeasure

Se aplica a

Consulte también