Zoom et Scrollviewer (avant)
Pour initialiser le zoom du Scrollviewer, il était possible avec Windows 8.0 de définir directement le niveau de zoom désiré avec l’instruction :
scrollViewer.ZoomToFactor(3.0F);
pour avoir un zoom de 300% par exemple.
De même pour se déplacer dans le scrollviewer, il fallait également utiliser
scrollViewer.ScrollToHorizontalOffset(100); scrollViewer.ScrollToVerticalOffset(200);
Ces 3 méthodes sont depuis peu marquées comme deprecated, et bien que le code continue à fonctionner, il est fortement recommander d’utiliser l’instruction ChangeView à la place.
La syntaxe est plus simple à priori :
var Succes = scrollViewer.ChangeView(100, 200, 0.3F, false);
La vue est ici positionnée avec 30% de zoom avec un scroll horizontal de 100 pixels 200 vertical.
Le dernier paramètre permet de désactiver l’animation de zoom.
L’ensemble retourne true si le zoom a eu lieu.
il est également possible de ne faire qu’un zoom sans déplacement en remplaçant les valeurs inutilsées par null
var Succes = scrollViewer.ChangeView(null, null, 0.3F, false);
Le problème
Pourtant lorsque cette instruction est utilisée dans un projet WP8.1… rien ne se passe!