Block.Margin Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft die Seitenrandstärke für das Element ab oder legt sie 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
Eine Thickness Struktur, die den anzuwendenden Rand in geräteunabhängigen Pixeln angibt. Der Standardwert ist eine einheitliche Stärke von Null (0,0).
Beispiele
Das folgende Beispiel zeigt, 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>
Die folgende Abbildung zeigt, wie das vorherige Beispiel gerendert wird. Übertriebene Dicke und Farben werden zur Veranschaulichung verwendet.
Das folgende Beispiel zeigt, wie die Margin-Eigenschaft programmgesteuert festgelegt wird.
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 Rändern des übergeordneten Elements. Kontrast zum PaddingPufferraum, der in den Inhaltsbereich eines Elements fällt, 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. Beispielsweise entspricht ein Wert von "10" einem Wert von "10,10,10,10". Ein nicht qualifizierter Wert wird in unabhängigen Pixeln des Geräts gemessen. Zeichenfolgen müssen keine dezimalen Punkte 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. "5.10.15.20" führt beispielsweise zu 5 Pixeln Rand links neben dem Inhalt, 10 Pixel Rand über Inhalt, 15 Pixel Rand rechts vom Inhalt und 20 Pixel Rand unterhalb des Inhalts.
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
| Element | Wert |
|---|---|
| Bezeichnerfeld | MarginProperty |
Auf Metadateneigenschaften festgelegt true |
AffectsMeasure |