2010-09-21 5 views
5

Quelqu'un peut-il me dire comment centrer un objet polygone dans une ligne/colonne donnée d'un contrôle Grid?Centrer un polygone dans un contrôle de grille

L'exemple que j'ai essayé est tiré de msdn.

<Grid x:Name="LayoutRoot" > 
    <Polygon Points="300,200 400,125 400,275 300,200" 
      Stroke="Purple" 
      StrokeThickness="2" 
      HorizontalAlignment="Center" 
      VerticalAlignment="Center" > 
    <Polygon.Fill> 
     <SolidColorBrush Color="Blue" Opacity="0.4" /> 
    </Polygon.Fill> 
</Polygon> 

Cheers,

Xam

Répondre

3

Ajoutez les attributs: -

HorizontalAlignment="Center" VerticalAlignment="Center" 

au Polygon.

0

Bien qu'une hauteur et une largeur soient impliquées par les limites du polygone, la valeur par défaut est la taille du conteneur.

Si vous venez de définir

HorizontalAlignment="Center" VerticalAlignment="Center" 

il positionnera en haut à gauche du polygone dans le centre.

Vous devez également définir explicitement la hauteur et la largeur du polygone pour le centrer et conserver ses limites

polygone Exemple XAML avec des dimensions ajouté:

<Grid x:Name="LayoutRoot"> 
    <Path Data="M0.5,41.5 L201,0.5 L302,115 L157.25,157 z" Fill="#FFF4F4F5" Stroke="Black" UseLayoutRounding="False" HorizontalAlignment="Center" VerticalAlignment="Center" Width="302.5" Height="157.5"/> 
</Grid> 
+0

@HiTechMagic: Comment sont vous définissez votre conteneur et votre polygone? Je ne le vois pas s'étirer avec une simple grille et un polygone à 4 points dans un exemple rapide que j'ai jeté ensemble après avoir vu votre message. –

+0

@HiTechMagic: J'ai le même problème que Wonko. En dépit de votre direction, je ne peux pas obtenir un simple polygone (dans mon cas un triangle) pour centrer dans un contrôle Grid. – Xam

+0

@Wonko & Xam: Mon erreur. J'ai défini le remplissage sur le polygone par défaut. Réponse corrigée. La solution de base est la même. Assurez-vous de définir votre taille sur les limites du polygone. Cheers –

Questions connexes