Laden...

Wenn Thumb aus dem Scrollviewer nach Links gezogen wird kann dort nicht hingescrollt werden

Erstellt von Create vor 10 Jahren Letzter Beitrag vor 10 Jahren 694 Views
C
Create Themenstarter:in
21 Beiträge seit 2013
vor 10 Jahren
Wenn Thumb aus dem Scrollviewer nach Links gezogen wird kann dort nicht hingescrollt werden

Hallo,

ich habe ein Problem bei der Anzeige von Thumb-Elementen in einem Canvas, welcher wiederum im Scrollviewer ist. Wenn das Thumb nach rechts oder unten verschoben wird, kann ich einfach den Canvas in der Höhe und Breite vergrößern. Aber wie mache ich das, wenn ein Thumb nach links oder oben verschoben wird? Thumb.getLeft() geht dann in den Minusbereich.
Wenn ich die Breite um Thumb.getLeft *- 1 vergrößer wird zwar die Canvasfläche größer, nur hinscrollen kann ich immer noch nicht.
Weiß jemand wie man das lösen kann?

C
80 Beiträge seit 2010
vor 10 Jahren

Hallo Create,

erzeuge eine eigene Klasse, die von Canvas ableitet und überschreibe darin die MeasureSize-Methode. Innerhalb der Methode kannst du über die Children-Property auf die Elemente auf dem Canvas zugreifen und über deren Width und Height die maximale Größe des Canvas ermitteln. Problematik ist nämlich, dass das Canvas eine undefinierte Größe hat, solltest du sie nicht irgendwo fest definiert haben.

Jedes mal beim Drachen über den Tumb rufst du dann die InvalidateVisual-Methode des Canvas auf. Damit wird festgestellt, dass das gedraggte Element außerhalb des maximalen Bereichs des Canvas liegt und der Scrollviewer automatisch angezeigt.

C
Create Themenstarter:in
21 Beiträge seit 2013
vor 10 Jahren

Hallo,
vielen Dank für deine schnelle Antwort. Ich werde das nun mal ausprobieren.