In meiner Grafikanwendung gibt es einen Canvas-Bereich mit einer Grafik. Die Bildlaufleisten, die der X-Kordinate und der Y-Kordinate zugeordnet sind, müssen mit diesem Bildfensterbereich der Zeichenfläche synchronisiert sein (dort, wo die Grafik vorhanden ist). Wenn ein Benutzer auf eine Zoomtaste klickt, wird die Grafik vergrößert und verkleinert. Jetzt besteht das Problem darin, die Bildlaufleiste für dieses Zoomen einzustellen. Beim Ein- oder Auszoomen sollte das Ansichtsfenster der Bildlaufleiste mit dem Prozentsatz des Zooms synchronisiert sein.Einstellung der Größe der Bildlaufleiste in WPF basierend auf der Zoomfunktion
So legen Sie die Größe der Bildlaufleiste in diesem Fall fest. Ich habe das Maximum , Minimum und Wert Eigenschaft des Scrollbar und die gesamte Grafik Breite und Höhe mit dem Zoomfaktor.
Wie sollte ich die ViewportSize oder die Daumengröße der Bildlaufleiste einstellen?
verwenden ich den folgenden Code-Schnipsel, den Viewport zu bekommen, aber es ist nicht genau
mScrollBarY.ViewportSize = (double)yAxis.CurrentValueRange;
wo die CurrentValueRange die im sichtbaren Bereich gezoomt gibt.
Könnten Sie das nicht automatisch handhaben, indem Sie eine [LayoutTransform] (http://msdn.microsoft.com/en-us/library/system.windows.framework.layouttransform.aspx) auf Canvas anwenden und in eine [ ScrollViewer] (http://msdn.microsoft.com/en-us/library/system.windows.controls.scrollviewer.aspx)? – Clemens