Ich habe eine Leinwand in einem Scrollviewer. Um den Scrollviewer verwenden zu können, habe ich die MeasureOverride-Methode von Canvas überschrieben, um die Größe aller untergeordneten Elemente zurückzugeben.ScrollViewer mit Canvas, Canvas automatisch auf Inhalte mit negativem Leerzeichen skalieren
Dies funktioniert einwandfrei, außer dass die Zeichenfläche nur Elemente im positiven Bereich enthalten kann, damit der Scrollviewer ordnungsgemäß funktioniert.
Ich möchte, dass der Benutzer in der Lage ist, Elemente umherzuziehen, ohne dass die Einschränkung auf der positiven Seite des Ursprungs der Leinwand liegen muss.
Also grundsätzlich möchte ich die Elemente überall positionieren können, wie bei (-200, 10) oder (500, -20), und in der Lage sein, vom linken Element (-200) zu den meisten zu scrollen rechts (500) und von oben nach unten.
Um die Sache zu komplizieren, kann die Leinwand mit der LayoutTransform skaliert werden, und ich möchte den Ansichtsbereich in die Bildlaufleisten einbeziehen, so dass nicht nur die Min/Max-Grenzen der Kinder von den Bildlaufleisten berücksichtigt werden, aber auch das min/max des aktuellen View-Bereichs.
Weiß jemand, wie man das funktioniert?