Condividi tramite


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à

Struttura Thickness che specifica la quantità di margine da applicare, in pixel indipendenti dal dispositivo. 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. Spessori e colori esagerati vengono utilizzati per l'illustrazione.

Screenshot: Paragrafi con spaziatura interna e margini

Nell'esempio seguente viene illustrato come impostare la proprietà Margin 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 di contenuto di un elemento, tra i bordi dell'area di contenuto dell'elemento e i bordi dell'elemento padre. Contrasto con Padding, ovvero lo spazio del buffer che rientra nell'area di contenuto di un elemento, tra il contenuto dell'elemento e il bordo interno dell'elemento.

Utilizzo degli attributi XAML

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

Valori XAML

uniformThickness Rappresentazione di stringa di un singolo Double valore da applicare in modo uniforme 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 separatori decimali.

independentThickness Rappresentazione di 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 da virgole; gli spazi non sono consentiti. Ad esempio, "5,10,15,20" restituisce 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.

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

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

in è pollici; 1in==96 px

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

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

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

in è pollici; 1in==96 px

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 sulle proprietà di dipendenza

Elemento Valore
Campo Identificatore MarginProperty
Proprietà dei metadati impostate su true AffectsMeasure

Si applica a

Vedi anche