Block.Margin Proprietà

Definizione

Ottiene o imposta lo spessore del margine per l'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

Valore della proprietà

Thickness

Struttura Thickness che specifica la quantità di margine da applicare, in DIP (Device Independent Pixel). Il valore predefinito è uno spessore uniforme pari a zero (0,0).

Esempio

Nell'esempio seguente viene illustrato come impostare l'attributo Margin di 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>

Nella figura seguente viene illustrato come viene eseguito il rendering dell'esempio precedente. Gli spessori e i colori esagerati vengono usati per l'illustrazione.

Schermata: paragrafi con spaziatura interna e margini

Nell'esempio seguente viene illustrato come impostare la Margin proprietà a livello di codice.

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)

Commenti

Margin è spazio buffer che rientra all'esterno dell'area del contenuto di un elemento, tra i bordi dell'area del contenuto dell'elemento e i bordi dell'elemento padre. Contrasto con Padding, che è spazio buffer che rientra nell'area del contenuto di un elemento, tra il contenuto dell'elemento e il bordo interno dell'elemento.

Uso della sintassi XAML per gli attributi

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

Valori XAML

uniformThickness
Rappresentazione stringa di un singolo Double valore da applicare uniformemente a tutte e quattro le dimensioni dello spessore. Ad esempio, un valore di "10" è equivalente a un valore di "10,10,10,10". Un valore non qualificato viene misurato in pixel indipendenti dal dispositivo. Le stringhe non devono includere in modo esplicito i punti decimali.

indipendenteThickness
Rappresentazione stringa di quattro valori ordinati Double corrispondenti alle dimensioni di spessore indipendenti per sinistra, superiore, destra e inferiore, in questo ordine. I quattro valori devono essere separati con virgole; gli spazi non sono consentiti. Ad esempio, "5.10.15.20" genera 5 pixel di margine a sinistra del contenuto, 10 pixel di margine superiore al contenuto, 15 pixel di margine a destra del contenuto e 20 pixel di margine al di sotto del contenuto.

qualificatoUniformThickness
Valore descritto da uniformThickness seguito da uno degli identificatori di unità seguenti: px, in.

px (impostazione predefinita) è unità indipendenti dal dispositivo (1/96° pollice per unità)

in è pollici; 1in==96px

Ad esempio, "1in" fornisce un margine uniforme di 1 pollice in tutte le direzioni.

qualificatoIndependentThickness
Valore descritto da indipendenteThickness, con ogni valore indipendente seguito da uno degli identificatori di unità seguenti: px, in.

px (impostazione predefinita) è unità indipendenti dal dispositivo (1/96° pollice per unità)

in è pollici; 1in==96px

Ad esempio: "1.5in,0.8in,1.5in,0.8in". Gli identificatori di unità possono essere misti o omessi da uno o più valori.

Informazioni proprietà di dipendenza

Campo Identificatore MarginProperty
Proprietà dei metadati impostate su true AffectsMeasure

Si applica a

Vedi anche