WPF-Zoom-Leinwand und Scroll-Position beibehalten

9

Ich habe ein Canvas-Element, das in einem ScrollViewer enthalten ist, den ich mit ScaleTransform zoome. Ich möchte jedoch in der Lage sein, die Bildlaufposition des Betrachters nach dem Ende der Zoomoperation auf denselben Teil der Zeichenfläche fokussiert zu halten. Wenn ich jetzt die Leinwand zoome, bleibt die Bildlaufposition des Betrachters dort, wo sie war, und der Ort, den der Benutzer angesehen hat, ist verloren.

Ich lerne immer noch WPF, und ich bin ein wenig vor und zurück gegangen, aber ich kann keinen schönen XAML-basierten Weg finden, um das zu erreichen, was ich will. Jede Hilfe in dieser Angelegenheit würde sehr geschätzt und würde mich in meinem Lernprozess unterstützen.

Hier ist die Art von Code, den ich verwende ...

%Vor%     
Alex McBride 14.03.2010, 17:18
quelle

2 Antworten

3

Das ist kein reiner XAML-Weg, aber es gibt eine sehr schöne Arbeit auf Joeyws Blog mit dem Titel Schwenken und Zoomen (DeepZoom-Stil) in WPF mit Links zur Quelle. Er hat sich von DeepZoom inspirieren lassen und bietet Ihnen das sanfte / animierte Verschieben und Zoomen von Inhalten. Und wenn Sie WPF 4 verwenden, könnten Sie es wahrscheinlich ein wenig modifizieren, um den Animationen einige Beschleunigungsfunktionen hinzuzufügen, um es noch schöner zu machen.

    
Andrew Bienert 14.03.2010, 20:57
quelle
0

Nachdem ich mich intensiv mit dem gleichen Thema beschäftigt habe, bin ich auf Ссылка gestoßen, was eine ausgezeichnete Funktionalität bietet.

    
Echilon 27.07.2013 11:55
quelle

Tags und Links