2010-06-13 17 views
0

Je cherche à apprendre de meilleures méthodes de faire des choses dans WPF que je ferais normalement manuellement.Rotation du contenu de la Viewbox en douceur

Dans ce cas, j'ai une ViewBox avec une image dedans. J'ai aussi un bouton qui utilise un DoubleAnimation pour faire pivoter l'image 90 vers la droite. Cette animation fonctionne bien, mais évidemment, car elle est carrée, l'image correspond le mieux à la ViewBox, ce qui rend la rotation plutôt mauvaise, car elle devient de plus en plus petite au fur et à mesure que son bord le plus long se rétrécit. pour s'adapter à cet angle de rotation particulier.

Je cherche des conseils sur la meilleure façon de gérer cela en utilisant les méthodes WPF appropriées. Évidemment, je pourrais faire tous les calculs manuellement, mais je serais plus intéressé à trouver un moyen d'utiliser les contrôles et les méthodes intégrées dans l'architecture .NET.

Merci pour votre aide.

Répondre

0

Si vous n'avez qu'un Image dans votre ViewBox, supprimez la zone de visualisation. Une image est déjà capable de s'étirer correctement avec l'attribut Stretch défini sur Uniform.

Dans tous les cas, utilisez un RenderTransform au lieu d'un LayoutTransform, pour éviter de recalculer la position des contrôles lorsque les images tournent. RenderTransform fera pivoter l'objet une fois que tous les calculs de position auront été effectués, donc tout ira bien. Il suffit d'ajouter une marge autour de l'image si vous trouvez qu'elle passe un peu de contrôle en tournant.