Bagikan melalui


Block.Margin Properti

Definisi

Mendapatkan atau mengatur ketebalan margin untuk elemen .

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

Nilai Properti

Struktur Thickness yang menentukan jumlah margin yang akan diterapkan, dalam piksel independen perangkat. Defaultnya adalah ketebalan seragam nol (0,0).

Contoh

Contoh berikut menunjukkan cara mengatur Margin atribut Block elemen (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>

Gambar berikut menunjukkan bagaimana contoh sebelumnya dirender. Ketebalan dan warna yang berlebihan digunakan untuk ilustrasi.

Cuplikan layar: Paragraf dengan padding dan margin

Contoh berikut menunjukkan cara mengatur properti Margin secara terprogram.

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)

Keterangan

Margin adalah ruang buffer yang berada di luar area konten elemen, antara tepi area konten elemen dan tepi elemen induk. Berbeda dengan Padding, yaitu ruang buffer yang berada di dalam area konten elemen, antara konten elemen dan tepi dalam elemen.

Penggunaan Atribut XAML

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

Nilai XAML

uniformThickness Representasi string dari satu Double nilai untuk diterapkan secara seragam ke keempat dimensi ketebalan. Misalnya, nilai "10" setara dengan nilai "10,10,10,10". Nilai yang tidak memenuhi syarat diukur dalam piksel independen perangkat. String tidak perlu secara eksplisit menyertakan titik desimal.

independentThickness Representasi string dari empat nilai yang diurutkan Double yang sesuai dengan dimensi ketebalan independen untuk kiri, atas, kanan, dan bawah, dalam urutan ini. Empat nilai harus dipisahkan dengan koma; spasi tidak diperbolehkan. Misalnya, "5.10.15.20" menghasilkan margin 5 piksel di sebelah kiri konten, 10 piksel margin di atas konten, margin 15 piksel di sebelah kanan konten, dan margin 20 piksel di bawah konten.

qualifiedUniformThickness Nilai yang dijelaskan oleh uniformThickness diikuti oleh salah satu penentu unit berikut: px, in.

px (default) adalah unit independen perangkat (1/96 inci per unit)

in adalah inci; 1in==96px

Misalnya, "1in" menyediakan margin seragam 1 inci di semua arah.

qualifiedIndependentThickness Nilai yang dijelaskan oleh independentThickness, dengan setiap nilai independen diikuti oleh salah satu penentu unit berikut: px, in.

px (default) adalah unit independen perangkat (1/96 inci per unit)

in adalah inci; 1in==96px

Contohnya, "1.5in,0.8in,1.5in,0.8in". Penentu unit dapat dicampur atau dihilangkan dari satu atau beberapa nilai.

Informasi Properti Dependensi

Item Nilai
Bidang pengidentifikasi MarginProperty
Properti metadata diatur ke true AffectsMeasure

Berlaku untuk

Lihat juga