47 votes

Bordures inférieures de la grille WPF

J'aimerais mettre une bordure inférieure sur chaque ligne de la grille, mais je ne trouve que la façon de mettre les 4 bordures autour de chaque cellule

<Grid Height="174" HorizontalAlignment="Left" Margin="23,289,0,0" Name="grid2" VerticalAlignment="Top" Width="730">
    <Grid.RowDefinitions>
        <RowDefinition Height="45" />
        <RowDefinition Height="25" />
        <RowDefinition Height="25" />
        <RowDefinition Height="25" />
        <RowDefinition Height="25" />
        <RowDefinition Height="25" />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="255" />
        <ColumnDefinition Width="95" />
        <ColumnDefinition Width="95" />
        <ColumnDefinition Width="95" />
        <ColumnDefinition Width="95" />
        <ColumnDefinition Width="95" />
    </Grid.ColumnDefinitions>
</Grid>

Pour une autre grille que j'utilise et qui nécessite les quatre bordures, j'utilise

<Border Grid.Column="0" Grid.Row="0" BorderBrush="#61738B" BorderThickness="1" />

P.S. Le contenu de la grille est constitué d'étiquettes, de zones de texte, etc. si cela a une quelconque importance.

119voto

Pwninstein Points 7293

Sur un Border contrôle Vous pouvez faire BorderThickness="0 0 0 1" pour que seule la bordure inférieure soit affichée.

Épaisseur des bordures supérieure et inférieure de 5, épaisseur des bordures gauche et droite de 0

BorderThickness="0 5"

Épaisseur des bordures supérieure et inférieure de 0, épaisseur des bordures gauche et droite de 5

BorderThickness="5 0"

Épaisseur de la bordure - Gauche : 1, Haut : 2, Droite : 3, Bas : 4

BorderThickness="1 2 3 4"

J'espère que cela vous aidera !

0 votes

Oh mon Dieu, c'était si simple ? Merci mille fois ! Une autre question rapide - existe-t-il un moyen de définir la bordure sur la ligne entière, sans avoir à spécifier Grid.Column ?

1 votes

Pas de problème ! À ma connaissance, je ne sais pas si vous pouvez définir la bordure d'une rangée dans la RowDefinition. Si vous voulez que la bordure d'une ligne particulière couvre plusieurs colonnes, vous pouvez utiliser Grid.ColumnSpan. Je ne sais pas si c'est ce que vous voulez dire, mais j'espère que cela vous aidera.

0 votes

Merci @Pwninstein Grid.ColumnSpan aide, il place une bordure sur chacune des colonnes, maintenant je dois juste trouver comment la faire répéter sur chaque ligne sans avoir 6 déclarations <Border> différentes :)

0voto

Lion8 Points 11

J'ai eu de la chance en mettant une bordure inférieure sur une ligne entière en incluant un nœud de bordure avec BorderThickness="0 1 0 1" entourant le nœud de grille. Comme ceci :

Border Style="{StaticResource ItemBorderStyle}" BorderThickness="0 1 0 1"
            Grid Style="{StaticResource GridItemStyle}"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X