J'ai une toile dans un scrollviewer. Pour pouvoir utiliser le scrollviewer, j'ai remplacé la méthode MeasureOverride du canevas pour retourner la taille de tous les enfants.ScrollViewer avec Canvas, redimensionner automatiquement le canevas au contenu incluant l'espace négatif
Cela fonctionne très bien, sauf que le canevas ne peut contenir que des éléments dans l'espace positif pour que le scrollviewer fonctionne correctement.
Je voudrais que l'utilisateur soit capable de faire glisser des éléments sans que la restriction de ceux-ci doive être sur le côté positif de l'origine de la toile. Donc, fondamentalement, je veux être en mesure de positionner les éléments n'importe où, comme à (-200, 10) ou (500, -20), et être en mesure de faire défiler de l'élément le plus à gauche (-200) au plus à droite (500), et de haut en bas. Pour compliquer les choses, le canevas peut être mis à l'échelle en utilisant LayoutTransform, et je voudrais inclure la zone de vue dans les barres de défilement, donc non seulement les limites min/max des enfants sont prises en compte par les barres de défilement, mais aussi le min/max de la zone de vue actuelle.
Est-ce que quelqu'un sait comment faire ce travail?