我在滾動查看器中放大按鈕時遇到問題。用於Windows 8的滾動查看器在縮放後無法正確移動
查看器內部是一個網格。在這個網格里面是一系列按特定順序排列的圖像。理想情況下,我想通過點擊按鈕從圖像到圖像,並且我已經實現了這一點。我有一個功能縮小按鈕,但是當我放大時...它不滾動到我想要的位置。我使用圖像的邊緣滾動到它。
我似乎遇到的問題是可滾動的高度和寬度不會更新。
當按下變焦出來,我打電話:
zoomFactor = 1;
rosaryScroll.ZoomToFactor(zoomFactor);
rosaryScroll.InvalidateScrollInfo();
setRosaryState(rosaryState);
設置念珠狀態滾動到在觀看者的特定圖像通過使用其邊距和ScrollViewer中的尺寸與圖像中心到滾動查看器。
rosaryScroll.ScrollToHorizontalOffset(
(selectedBead.Margin.Left
+ (selectedBead.Width/2)
+ rosaryScroll.Margin.Left/2)
* zoomFactor);
rosaryScroll.ScrollToVerticalOffset(
(selectedBead.Margin.Top
- (selectedBead.Height/2)
- rosaryScroll.Margin.Top/2)
* zoomFactor);
當我縮小(zoomFactor爲5)時,可滾動的高度/寬度都很好,並且易於滾動。 rosaryScroll.ScrollableHeight = 2336.0雙 rosaryScroll.ScrollableWidth = 2584.0雙
但是,當我放大(zoomFactor爲1),可滾動高度/寬度仍然很小 rosaryScroll.ScrollableHeight = 84.0雙 rosaryScroll.ScrollableWidth = 0.0 double
那麼如何在縮放調用之後更新此可滾動高度和寬度? InvalidateScrollInfo()似乎是無效的...
我最終剛剛決定使用它,但謝謝你的建議。 – 2013-04-01 22:12:41