2011-07-28 2 views
2

J'ai une image avec un canevas superposé avec des rectangles dont la position est relative à la taille de l'image. Le problème vient quand je change l'orientation du téléphone, parce que la taille d'image change (ou au moins, le rendu) mais je n'arrive pas à redistribuer les rectangles selon la nouvelle taille, et l'événement OrientationChanged ne m'aide pas parce que il est déclenché avant de rendre l'image (donc tous les rectangles vont à (0,0))Gérer la taille de l'image après un changement d'orientation WP7

Quelqu'un peut-il m'aider à trouver l'événement correct?

+0

J'ai cette photo (http://i53.tinypic.com/ 2uhl72t.png) avec les carrés superposés. La coordonnée du coin supérieur gauche est relative, si c'est (25, 30) cela signifie que le coin est placé à 25% de la largeur de l'image et à 30% de la hauteur de l'image. J'utilise ActualHeight de l'image pour le faire. Quand l'orientation change, l'image est repeinte, changeant sa taille, ainsi la position des carrés devrait changer. Mais je ne peux pas trouver quel événement dois-je utiliser pour obtenir la nouvelle taille, parce que OrientationChanged est déclenché AVANT que l'image soit repeinte, par conséquent, tous les rectangles apparaissent dans le coin supérieur gauche. Je veux obtenir le nouveau ActualHeight –

Répondre

0

Enfin obtenu!

L'événement que je cherchais était le SizeChanged, je ne peux pas imaginer comment je ne voyais pas avant ...

0

Je n'utiliserais pas de largeurs de pourcentage ou les enregistrerais comme des valeurs exactes lors du premier rendu/mesure pour une orientation. Vous pouvez ensuite ajuster les dimensions relatives à l'orientation.

Mise à jour
Si vous ne pouvez pas obtenir les valeurs exactes Transmis à vous, alors vous coudl charger l'image où Teh utilisateur ne peut pas voir pour le mesurer.

Si vous obtenez l'image et les positions d'une source externe qui adopte toujours une orientation portrait, alors pourquoi ne pas toujours l'afficher comme tel dans votre application.

+0

Je n'ai aucune option, parce que ces positions sont prises d'une source externe ... –

Questions connexes