1

我有一个带有 aScrollViewer和 an的 Windows 应用商店应用程序Image。当我双击时,ScrollViewer我希望它将图像缩放到它的宽度。这部分不是问题,但我也希望在Image放大后居中。

我尝试在 上调用该ScrollToHorizontalOffset方法,ScrollViewer但它似乎不适用于我给它的任何数字。问题是什么?

4

3 回答 3

0

在滚动查看器中分配一个 SizeChangedEvent。

<ScrollViewer SizeChanged="OnSizeChange"></ScrollViewer>

像这样。然后最好将图像放在画布中。所以你的代码可能是这样的。

<ScrollViewer SizeChanged="OnSizeChange" x:Name="scrl">
   <Canvas RenderTransformOrigin="0.5,0.5" x:Name="main">
       <Image source="" Canvas.Top="insert desire double value here", Canvas.Left="Same goes here"/>
   </Canvas>
</ScrollViewer>

然后在后面的代码中,您可以根据滚动查看器更改画布的高度和宽度

Main.Width = scrl.ViewPortWidth; Main.Height = scrl.ViewPortHeight;

您可以在canvass添加 a 时试验它的大小double tap event。更改大小canvas可以放大或缩小,image因为图像在内部canvass

于 2014-05-29T06:32:01.740 回答
0

也许偏移量仅适用于您的图像完全填充 ScrollViewer 并因此无法滚动的非缩放视图。您可以尝试设置图像尺寸,使其大于 ScrollViewer,但设置原始 ZoomFactor,使其首先填充 ScrollViewer。然后缩放和滚动可能会起作用。

于 2012-10-29T22:20:37.120 回答
0

尝试使用“ChangeView”而不是“ZoomToFactor”

于 2020-08-14T11:57:57.473 回答