Block.Margin 속성

정의

요소의 여백 두께를 가져오거나 설정합니다.

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

속성 값

Thickness

적용할 여백의 크기(디바이스 독립적 픽셀)를 지정하는 Thickness 구조체입니다. 기본값은 0의 균일 두께(0.0)입니다.

예제

다음 예제에서는 설정 하는 방법을 보여 줍니다 합니다 Margin 특성을 Block 요소 (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>

다음 그림 앞의 예제에서는 렌더링 되는 방법을 보여 줍니다. 과장 된 두께 및 색에 대 한 예시 사용 됩니다.

스크린 샷: 안쪽 여백 및 여백이 있는 단락

다음 예제에서는 설정 하는 방법의 Margin 속성 프로그래밍 방식으로 합니다.

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)

설명

Margin 요소의 콘텐츠 영역의 가장자리와 부모 요소의 가장자리 사이의 요소의 콘텐츠 영역 외부에 있는 버퍼 공간입니다. 대비 Padding, 요소의 콘텐츠 요소의 내부 가장자리 사이의 요소의 콘텐츠 영역 내부에 있는 버퍼 공간 인 합니다.

XAML 특성 사용

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

XAML 값

uniformThickness
단일의 문자열 표현 Double 네 가지 두께 균일 하 게 적용할 값입니다. 예를 들어, 값 "10" 의 값과 동일 "10,10,10,10"합니다. 값을 정규화 되지 않은 디바이스 독립적 픽셀 단위로 측정 됩니다. 문자열 소수점이 하를 명시적으로 포함 되지 해야 합니다.

independentThickness
순서가 지정 된 4의 문자열 표현 Double 왼쪽, 위쪽에 대 한 독립적인 두께에 해당 하는 값 오른쪽이 순서 대로 아래쪽 합니다. 4 개 값; 쉼표로 구분 해야 합니다. 공백은 허용 되지 않습니다. 예를 들어, "5,10,15,20" 결과 5 픽셀 단위 여백 콘텐츠, 콘텐츠 위쪽 여백 10 픽셀, 콘텐츠의 오른쪽 여백 (픽셀)를 15 및 콘텐츠 아래쪽 여백 20 픽셀의 왼쪽입니다.

qualifiedUniformThickness
uniformThickness 다음에 다음 단위 지정자 중 하나로 설명된 값입니다px``in.

px (기본값)은 디바이스 독립적 단위(단위당 1/96인치)입니다.

in 인치; 1에서 96px = =

예를 들어 "1in" 모든 방향에서 1 인치의 균일 한 여백이 제공 합니다.

qualifiedIndependentThickness
independentThickness 로 설명된 값으로, 각 독립 값 뒤에 다음 단위 지정자 px``in중 하나가 잇습니다.

px (기본값)은 디바이스 독립적 단위(단위당 1/96인치)입니다.

in 인치; 1에서 96px = =

예들 들어 "1.5in,0.8in,1.5in,0.8in"입니다. 단위 지정자 혼합 또는 하나 이상의 값에서 생략 되었을 수 있습니다.

종속성 속성 정보

식별자 필드 MarginProperty
메타 데이터 속성 설정 true AffectsMeasure

적용 대상

추가 정보