Question

Sous Silverlight, comment puis-je étirer la largeur d'une ligne pour remplir la largeur du StackPanel dans lequel il s'agit d'un élément enfant? Préférez une solution XAML, pas un code-behind. Voici comment je peux le faire dans WPF:

<Line X1="0" 
      X2="{Binding Path=ActualWidth, ElementName=HolePatternStackPanel}" 
      Stroke="Gray" 
      StrokeThickness="1" />

Mais cela ne fonctionne pas dans Silverlight.

Était-ce utile?

La solution

<Line X1="0" Y1="0" X2="0" Y2="1" Stretch="Fill" Stroke="#FF000000" />

Fonctionne à la fois dans WPF et Silverlight.

Si les X sont 0, c'est une ligne verticale. Si les Y sont 0, c'est horizontal. Utilisez X1 = 0 Y1 = 0 X2 = 1 Y2 = 1 pour la diagonale de haut en bas à droite ou inversez-le en bas à gauche pour en haut à droite.

Frais frais.

Autres conseils

L’utilisateur sladapter a répondu comme suit sur le forum Silverlight.net:

Silverlight actuel ne prend pas en charge la liaison d'élément.

Devez-vous utiliser l'objet Ligne? Si vous souhaitez simplement dessiner une ligne, vous pouvez utiliser Rectangle (hauteur 2 px), puis vous pouvez définir HorizontalAlignment = " Stretch " il va donc s'étirer automatiquement.

Cela a fonctionné parfaitement pour mes besoins.

ElementBinding existe dans Silverlight 4. Mais il n’existe toujours pas de moyen génial d’étirer un élément pour remplir son conteneur parent. Ce que vous voulez vraiment, c'est entrer dans le conteneur parent de Visual Tree, ce qui prend en compte l'application de modèles.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top