Block.Margin Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define a espessura da margem do 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 da propriedade
Uma estrutura Thickness que especifica a quantidade de margem a ser aplicada, em pixels independentes de dispositivo. O padrão é uma espessura uniforme de zero (0,0).
Exemplos
O exemplo a seguir mostra como definir o Margin atributo de um 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>
A figura a seguir mostra como o exemplo anterior é renderizado. Espessuras e cores exageradas são usadas para ilustração.
O exemplo a seguir mostra como definir a Margin propriedade programaticamente.
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)
Comentários
Margin é o espaço de buffer que fica fora da área de conteúdo de um elemento, entre as bordas da área de conteúdo do elemento e as bordas do elemento pai. Contraste com Padding, que é o espaço de buffer que cai dentro da área de conteúdo de um elemento, entre o conteúdo do elemento e a borda interna do elemento.
Uso do Atributo XAML
<object Margin="uniformThickness"/>
- or -
<object Margin="independentThickness"/>
- or -
<object Margin="qualifiedUniformThickness"/>
- or -
<object Margin="qualifiedIndependentThickness"/>
Valores XAML
uniformThickness
Representação de cadeia de caracteres de um único Double valor a ser aplicado uniformemente a todas as quatro dimensões de espessura. Por exemplo, um valor é "10"
equivalente a um valor de "10,10,10,10"
. Um valor não qualificado é medido em pixels independentes do dispositivo. As cadeias de caracteres não precisam incluir explicitamente pontos decimais.
independentThickness
Representação de cadeia de caracteres de quatro valores ordenados Double correspondentes a dimensões de espessura independentes para esquerda, superior, direita e inferior, nesta ordem. Os quatro valores devem ser separados com vírgulas; espaços não são permitidos. Por exemplo, "5,10,15,20" resulta em 5 pixels de margem à esquerda do conteúdo, 10 pixels de margem acima do conteúdo, 15 pixels de margem à direita do conteúdo e 20 pixels de margem abaixo do conteúdo.
qualifiedUniformThickness
Um valor descrito por uniformThickness seguido por um dos seguintes especificadores de unidade: px
, in
.
px
(padrão) são unidades independentes do dispositivo (1/96 polegada por unidade)
in
é polegadas; 1in==96px
Por exemplo, "1in"
fornece uma margem uniforme de 1 polegada em todas as direções.
qualifiedIndependentThickness
Um valor descrito por independentThickness, com cada valor independente seguido por um dos seguintes especificadores de unidade: px
, in
.
px
(padrão) são unidades independentes do dispositivo (1/96 polegada por unidade)
in
é polegadas; 1in==96px
Por exemplo, "1.5in,0.8in,1.5in,0.8in"
. Os especificadores de unidade podem ser misturados ou omitidos de um ou mais valores.
Informações da propriedade de dependência
Campo Identificador | MarginProperty |
Propriedades de metadados definidas como true |
AffectsMeasure |