web-dev-qa-db-fra.com

Ligne horizontale simple (je pense) dans WPF?

Création d'un formulaire de saisie de données relativement simple et souhaitant simplement séparer certaines sections par une ligne horizontale (semblable à une balise HR en HTML) qui s'étend sur toute la longueur du formulaire.

J'ai essayé ceci:

<Line Stretch="Fill" Stroke="Black" X2="1"/>

Étant donné que le contrôle parent n'est pas une largeur fixe, cette ligne provoque une extension de la fenêtre sur toute la largeur de l'écran.

Y a-t-il un moyen facile de faire cela sans fixer la largeur de mon contrôle/fenêtre parent?

207
Phil Sandler

Que diriez-vous d'ajouter ceci à votre xaml:

<Separator/>
474
Adel Hazzah

J'ai eu le même problème et j'ai finalement choisi d'utiliser un élément Rectangle:

<Rectangle HorizontalAlignment="Stretch" Fill="Blue" Height="4"/>

À mon avis, il est un peu plus facile de modifier/mettre en forme qu'un séparateur. Bien sûr, le Separator est une solution très simple et pratique pour les séparations simples :)

67
Deruijter

Utilisez une bordure de hauteur 1 et ne définissez pas la largeur (c.-à-d. Largeur = auto, horizontalAlign = étirement, valeur par défaut)

13
Paul Betts

Pour tous ceux qui ont des problèmes avec ceci: commentaire de Qwertie a bien fonctionné pour moi.

<Border Width="1" Margin="2" Background="#8888"/>

Cela crée un séparateur vertical que vous pouvez adapter à vos besoins.

7
P_Fitz
To draw Horizontal 
************************    
<Rectangle  HorizontalAlignment="Stretch"  VerticalAlignment="Center" Fill="DarkCyan" Height="4"/>

To draw vertical 
*******************
 <Rectangle  HorizontalAlignment="Stretch" VerticalAlignment="Center" Fill="DarkCyan" Height="4" Width="Auto" >
        <Rectangle.RenderTransform>
            <TransformGroup>
                <ScaleTransform/>
                <SkewTransform/>
                <RotateTransform Angle="90"/>
                <TranslateTransform/>
            </TransformGroup>
        </Rectangle.RenderTransform>
    </Rectangle>
3
shaiju mathew