Block.Margin Eigenschaft

Definition

Ruft die Stärke des Rands des Elements ab oder legt diese fest.

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

Eigenschaftswert

Thickness

Eine Thickness-Struktur, die die anzuwendende Stärke des Rands in geräteunabhängigen Pixeln angibt. Der Standardwert ist die einheitliche Stärke 0 (null), also (0,0).

Beispiele

Im folgenden Beispiel wird gezeigt, wie das Margin Attribut eines Block Elements (Paragraph) festgelegt wird.

<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>

In der folgenden Abbildung wird gezeigt, wie das vorherige Beispiel gerendert wird. Übertriebene Stärke und Farben werden zur Abbildung verwendet.

Bildschirmabbildung: Absätze mit Abstand und Rändern

Im folgenden Beispiel wird gezeigt, wie Sie die Margin Eigenschaft programmgesteuert festlegen.

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)

Hinweise

Margin ist Pufferraum, der außerhalb des Inhaltsbereichs eines Elements liegt, zwischen den Rändern des Inhaltsbereichs des Elements und den Kanten des übergeordneten Elements. Kontrast mit Paddingdem Pufferraum, der innerhalb des Inhaltsbereichs eines Elements liegt, zwischen dem Inhalt des Elements und dem inneren Rand des Elements.

Verwendung von XAML-Attributen

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

XAML-Werte

UniformThickness
Zeichenfolgendarstellung eines einzelnen Double Werts, der einheitlich auf alle vier Stärkeabmessungen angewendet werden soll. Ein Wert von "10" z. B. entspricht einem Wert von "10,10,10,10". Ein nicht qualifizierter Wert wird in unabhängigen Pixeln des Geräts gemessen. Zeichenfolgen müssen keine Dezimalpunkte enthalten.

independentThickness
Zeichenfolgendarstellung von vier sortierten Double Werten, die unabhängigen Stärkeabmessungen für links, oben, rechts und unten entsprechen, in dieser Reihenfolge. Die vier Werte müssen durch Kommas getrennt werden; Leerzeichen sind nicht zulässig. Beispielsweise führt "5.10.15.20" zu 5 Pixel Rand links neben dem Inhalt, 10 Pixel Rand über Inhalt, 15 Pixel Rand rechts neben dem Inhalt und 20 Pixel Rand unter dem Inhalt.

qualifiedUniformThickness
Ein durch uniformThickness beschriebener Wert gefolgt von einem der folgenden Einheitenbezeichner: px, in.

px (Standard) ist geräteunabhängige Einheiten (1/96. Zoll pro Einheit)

in ist Zoll; 1in==96px

Stellt beispielsweise "1in" einen gleichmäßigen Rand von 1 Zoll in allen Richtungen bereit.

qualifiedIndependentThickness
Ein wert, der durch independentThickness beschrieben wird, wobei jeder unabhängige Wert gefolgt von einem der folgenden Einheitenbezeichner folgt: px, in.

px (Standard) ist geräteunabhängige Einheiten (1/96. Zoll pro Einheit)

in ist Zoll; 1in==96px

Beispiel: "1.5in,0.8in,1.5in,0.8in". Einheitenbezeichner können gemischt oder aus einem oder mehreren Werten weggelassen werden.

Informationen zur Abhängigkeitseigenschaft

Bezeichnerfeld MarginProperty
Metadateneigenschaften auf true festgelegt AffectsMeasure

Gilt für

Siehe auch