2009-08-06 9 views
0

J'ai une grille avec une image à l'intérieur. Initialement, l'image est plus grande que la grille, donc elle est recadrée ce qui est bien, mais si j'applique une transformation d'échelle pour réduire l'image, la partie qui a été recadrée initialement reste recadrée, mais je veux qu'elle s'affiche maintenant, car elle s'intégrerait dans la grille. Je pensais mettre mon image dans une toile, mais je la veux centrée verticalement et horizontalement, ce qui me pose problème, donc je suis passé à une grille.Comment arrêter le rognage d'une image transformée (mise à l'échelle) dans une grille (silverlight)

+0

Avez-vous un exemple de code que vous utilisez? – John

Répondre

0

La définition de la propriété Stretch spécifie comment l'image est affichée dans la cellule de la grille.

Il devrait par défaut Uniform qui sonne comme vous avez besoin cependant de votre description vous pouvez soit l'avoir mis à "Fill", qui remplira la cellule résultant de recadrage, "None" l'afficher comme l'original ou ont spécifié la largeur ou la hauteur de l'image (ceci peut remplacer le Stretch).

<Image Grid.Column="1" Stretch="Uniform" Source="sample.jpg" /> 

Réglage à uniforme (ou quitter la propriété Stretch) et ne pas spécifier la largeur ou la hauteur signifie qu'il redimensionnera au maximum possible avec en étant rognée dans les deux sens. Comme il est encore dans la grille, il centrera également l'image. Une transformation d'échelle ne devrait pas être nécessaire car la propriété Stretch va gérer cela.

Questions connexes