Block.Margin Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví tloušťku okraje prvku.
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
Hodnota vlastnosti
Struktura Thickness , která určuje velikost okraje, která se má použít, v pixelech nezávislých na zařízení. Výchozí hodnota je jednotná tloušťka nuly (0,0).
Příklady
Následující příklad ukazuje, jak nastavit Margin atribut elementu 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>
Následující obrázek ukazuje, jak se v předchozím příkladu vykresluje. Pro ilustraci se používají překryvné tloušťky a barvy.
Následující příklad ukazuje, jak nastavit Margin vlastnost programově.
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)
Poznámky
Margin je prostor vyrovnávací paměti, který spadá mimo oblast obsahu prvku, mezi okraji oblasti obsahu prvku a hranami nadřazeného prvku. Kontrast s Paddingprostorem vyrovnávací paměti, který spadá do oblasti obsahu prvku, mezi obsahem prvku a vnitřním okrajem prvku.
Použití atributu XAML
<object Margin="uniformThickness"/>
- or -
<object Margin="independentThickness"/>
- or -
<object Margin="qualifiedUniformThickness"/>
- or -
<object Margin="qualifiedIndependentThickness"/>
Hodnoty XAML
uniformThickness
Řetězcová reprezentace jedné Double hodnoty, která se použije jednotně pro všechny čtyři rozměry tloušťky. Například hodnota "10"
je ekvivalentní hodnotě ."10,10,10,10"
Nekvalifikovaná hodnota se měří v pixelech nezávislých na zařízeních. Řetězce nemusí explicitně obsahovat desetinné čárky.
nezávisláthickness
Řetězcové znázornění čtyř uspořádaných Double hodnot odpovídajících nezávislým rozměrům tloušťky pro levou, horní, pravou a dolní, v tomto pořadí. Čtyři hodnoty musí být odděleny čárkami; Mezery nejsou povoleny. Například "5,10,15,20" má za následek 5 pixelů okraje vlevo od obsahu, 10 pixelů okraje nad obsahem, 15 pixelů okraje napravo od obsahu a 20 pixelů okraje pod obsahem.
qualifiedUniformThickness
Hodnota popsaná uniformThickness následovaná jedním z následujících specifikátorů jednotek: px
, in
.
px
(výchozí) je jednotky nezávislé na zařízení (1/96. palec na jednotku)
in
je palce; 1in==96px
Například "1in"
poskytuje jednotný okraj 1 palce ve všech směrech.
qualifiedIndependentThickness
Hodnota popsaná nezávislou hodnotouThickness s každou nezávislou hodnotou následovanou jedním z následujících specifikátorů jednotek: px
, in
.
px
(výchozí) je jednotky nezávislé na zařízení (1/96. palec na jednotku)
in
je palce; 1in==96px
Například, "1.5in,0.8in,1.5in,0.8in"
. Specifikátory jednotek mohou být smíšené nebo vynechány z jedné nebo více hodnot.
Informace o vlastnosti závislosti
Pole identifikátoru | MarginProperty |
Vlastnosti metadat nastavené na true |
AffectsMeasure |