Block.Margin プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
要素の余白の厚みを取得または設定します。
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 構造体。デバイス非依存のピクセル単位で指定します。 既定では 0 (0.0) の均一の幅です。
例
次の例は、要素 (Paragraph) の属性をMargin設定する方法を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>
次の図は、前の例がどのようにレンダリングされるかを示しています。 図には誇張された太さと色が使用されます。
次の例では、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
4 つの厚み寸法すべてに均一に適用する 1 つの 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
はインチ。1in==96px
たとえば、 "1in"
すべての方向に 1 インチの均一な余白を提供します。
qualifiedIndependentThickness
独立した各値の後に次のいずれかの単位指定子が続く、independentThickness で記述された値。 px``in
px
(既定値) はデバイスに依存しない単位 (ユニットあたり 1/96 インチ) です
in
はインチ。1in==96px
たとえば、「 "1.5in,0.8in,1.5in,0.8in"
」のように入力します。 単位指定子は、1 つ以上の値の混合または省略が可能です。
依存プロパティ情報
識別子フィールド | MarginProperty |
メタデータのプロパティが次に設定されている true |
AffectsMeasure |