Block.Margin Özellik

Tanım

Öğe için kenar boşluğu kalınlığını alır veya ayarlar.

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

Özellik Değeri

Thickness

Thickness Cihazdan bağımsız piksellerde uygulanacak kenar boşluğu miktarını belirten bir yapı. Varsayılan değer, sıfır (0,0) tekdüzen kalınlığıdır.

Örnekler

Aşağıdaki örnekte bir öğenin özniteliğinin Margin nasıl ayarlanacağı gösterilmektedir (Paragraph .Block

<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şağıdaki şekilde, önceki örneğin nasıl işlenme şekli gösterilmektedir. İllüstrasyon için abartılı kalınlıklar ve renkler kullanılır.

Ekran görüntüsü: Doldurma ve kenar boşlukları içeren paragraflar

Aşağıdaki örnekte özelliğin Margin program aracılığıyla nasıl ayarlanacağı gösterilmektedir.

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)

Açıklamalar

Margin öğenin içerik alanının kenarları ile üst öğenin kenarları arasında, öğenin içerik alanının dışında kalan arabellek alanıdır. öğesinin içeriğiyle Paddingöğenin iç kenarı arasındaki içerik alanının içinde kalan arabellek alanı olan ile karşıtlık.

XAML Öznitelik Kullanımı

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

XAML Değerleri

uniformThickness
Dört kalınlık boyutuna da tekdüzen uygulamak için tek Double bir değerin dize gösterimi. Örneğin, değerinin "10" değeri değerine eşdeğerdir "10,10,10,10". Nitelenmemiş bir değer cihazdan bağımsız piksel cinsinden ölçülür. Dizelerin açıkça ondalık ayırıcı içermesi gerekmez.

independentThickness
Bu sırada sol, üst, sağ ve alt için bağımsız kalınlık boyutlarına karşılık gelen dört sıralı Double değerin dize gösterimi. Dört değer virgülle ayrılmalıdır; boşluklara izin verilmez. Örneğin, "5,10,15,20", içeriğin solunda 5 piksel kenar boşluğu, içeriğin üzerinde 10 piksel kenar boşluğu, içeriğin sağında 15 piksel kenar boşluğu ve içeriğin altında 20 piksel kenar boşluğuyla sonuçlanıyor.

qualifiedUniformThickness
uniformThickness tarafından tanımlanan bir değer ve ardından aşağıdaki birim tanımlayıcılarından biri: px, in.

px (varsayılan) cihazdan bağımsız birimlerdir (birim başına 1/96 inç)

in inçtir; 1 inç==96px

Örneğin, "1in" her yönde 1 inçlik tekdüzen kenar boşluğu sağlar.

qualifiedIndependentThickness
independentThickness tarafından tanımlanan ve her bağımsız değerin ardından aşağıdaki birim tanımlayıcılarından birinin eklediği bir değer: px, in.

px (varsayılan) cihazdan bağımsız birimlerdir (birim başına 1/96 inç)

in inçtir; 1 inç==96px

Örneğin, "1.5in,0.8in,1.5in,0.8in". Birim tanımlayıcıları bir veya daha fazla değerden karıştırılabilir veya atlanabilir.

Bağımlılık Özelliği Bilgileri

Tanımlayıcı alanı MarginProperty
Meta veri özellikleri olarak ayarlandı true AffectsMeasure

Şunlara uygulanır

Ayrıca bkz.