Block.Margin Propriété

Définition

Obtient ou définit l’épaisseur de la marge de l’élément.

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

Valeur de propriété

Thickness

Structure Thickness qui spécifie la taille de marge à appliquer, en dip (device independent pixel). La valeur par défaut est une épaisseur uniforme égale à zéro (0,0).

Exemples

L’exemple suivant montre comment définir l’attribut Margin d’un Block élément (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>

La figure suivante montre comment l’exemple précédent s’affiche. Les épaisseurs et les couleurs exagérées sont utilisées pour l’illustration.

Capture d'écran : paragraphes avec marge intérieure et marges

L’exemple suivant montre comment définir la Margin propriété par programmation.

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)

Remarques

Margin est un espace tampon qui se trouve en dehors de la zone de contenu d’un élément, entre les bords de la zone de contenu de l’élément et les bords de l’élément parent. Contraste avec Padding, qui est l’espace de mémoire tampon qui se trouve à l’intérieur de la zone de contenu d’un élément, entre le contenu de l’élément et le bord interne de l’élément.

Utilisation d'attributs XAML

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

Valeurs XAML

uniformThickness
Représentation sous forme de chaîne d’une seule Double valeur à appliquer uniformément aux quatre dimensions d’épaisseur. Par exemple, une valeur de "10" est équivalente à une valeur de "10,10,10,10". Une valeur non qualifiée est mesurée en pixels indépendants de l’appareil. Les chaînes n’ont pas besoin d’inclure explicitement des décimales.

independentThickness
Représentation sous forme de chaîne de quatre valeurs ordonnées Double correspondant à des dimensions d’épaisseur indépendantes pour les dimensions gauche, supérieure, droite et inférieure, dans cet ordre. Les quatre valeurs doivent être séparées par des virgules ; les espaces ne sont pas autorisés. Par exemple, « 5 10 15 20 » génère 5 pixels de marge à gauche du contenu, 10 pixels de marge au-dessus du contenu, 15 pixels de marge à droite du contenu et 20 pixels de marge sous le contenu.

qualifiedUniformThickness
Valeur décrite par uniformThickness suivie de l’un des spécificateurs d’unité suivants : px, in.

px (par défaut) est des unités indépendantes de l’appareil (1/96e pouce par unité)

in est pouces; 1in==96px

Par exemple, "1in" fournit une marge uniforme de 1 pouce dans toutes les directions.

qualifiedIndependentThickness
Valeur décrite par independentThickness, avec chaque valeur indépendante suivie de l’un des spécificateurs d’unité suivants : px, in.

px (par défaut) est des unités indépendantes de l’appareil (1/96e pouce par unité)

in est pouces; 1in==96px

Par exemple : "1.5in,0.8in,1.5in,0.8in". Les spécificateurs d’unités peuvent être mixtes ou omis à partir d’une ou plusieurs valeurs.

Informations sur les propriétés de dépendance

Champ d’identificateur MarginProperty
Propriétés de métadonnées définies sur true AffectsMeasure

S’applique à

Voir aussi