Comment append un séparateur vertical?

Je veux append un séparateur vertical à une grid, mais je ne peux trouver que l’horizontale. N’y a-t-il pas une propriété où vous pouvez entrer si la ligne du séparateur doit être horizontale ou verticale?

J’ai beaucoup cherché, mais je n’ai pas trouvé de solution simple et rapide à cela.

J’utilise .Net Framework 4.0 et Visual Studio Ultimate 2012.

Si j’essaie de faire pivoter le séparateur horizontal de 90 degrés, il perd la capacité de “connecter” aux autres composants.

Le séparateur pivoté ressemble à ceci:

          

Cela devrait faire exactement ce que l’auteur voulait:

    

Si vous voulez un séparateur horizontal, changez l’ Orientation du StackPanel sur Vertical .

Ce n’est pas exactement ce que l’auteur a demandé, mais néanmoins, c’est très simple et fonctionne exactement comme prévu.

Le rectangle fait le travail:

       

Dans le passé, j’ai utilisé le style trouvé ici

   

Vous devez définir la transformation dans LayoutTransform au lieu de RenderTransform afin que la transformation se produise pendant la passe de mise en forme, pas pendant la passe de rendu. La passe de mise en page se produit lorsque WPF essaie de mettre en forme les contrôles et détermine la quantité d’espace occupée par chaque contrôle, tandis que la passe de rendu se produit après le passage de la mise en page lorsque WPF tente de rendre les contrôles.

Vous pouvez en savoir plus sur la différence entre LayoutTransform et RenderTransform ici ou ici

J’aime utiliser le contrôle “Line”. Il vous donne un contrôle exact sur le début et la fin du séparateur. Bien que ce ne soit pas exactement un séparateur, il fonctionne de la même façon, en particulier dans un StackPanel.

Le contrôle de ligne fonctionne également dans une grid. Je préfère utiliser le StackPanel car vous n’avez pas à vous soucier des différents contrôles qui se chevauchent.

      

X1 = x position de départ (doit être 0 pour une ligne verticale)

X2 = x position de fin (X1 = X2 pour une ligne verticale)

Y1 = y position de départ (doit être 0 pour une ligne verticale)

Y2 = y position de fin (Y2 = hauteur de ligne souhaitée)

J’utilise “marge” pour append un remplissage de n’importe quel côté de la ligne verticale. Dans ce cas, il y a 5 pixels à gauche et 10 pixels à droite de la ligne verticale.

Étant donné que le contrôle de ligne vous permet de choisir les coordonnées x et y du début et de la fin de la ligne, vous pouvez également l’utiliser pour les lignes et les lignes horizontales à n’importe quel angle.

C’est un moyen très simple de le faire sans aucune fonctionnalité et effet visuel,

Utilisez une grid et personnalisez-la simplement.

  

Juste une autre façon de le faire.

De http://social.msdn.microsoft.com/Forums/vstudio/en-US/12ead5d4-1d57-4dbb-ba81-bc13084ba370/how-can-i-add-a-line-as-a-visual-separator -to-the-content-control-like-grid? forum = wpf :

Essayez cet exemple et voyez si cela répond à vos besoins, il y a trois aspects principaux.

  1. Line.Stretch est configuré pour remplir.

  2. Pour les lignes horizontales, l’alignement vertical de la ligne est défini en bas et l’alignement horizontal est défini à droite pour les lignes verticales.

  3. Nous devons ensuite indiquer à la ligne le nombre de lignes ou de colonnes à répartir, ceci en liant soit la propriété RowDefinitions, soit la propriété ColumnDefintions.