Block.Margin Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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.
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 |