我有一个Windows应用商店应用,其中包含ScrollViewer
和Image
。当我双击ScrollViewer
时,我希望它将图像缩放到其宽度。这部分不是问题,但我也希望Image
在放大后进行居中。
我尝试在ScrollToHorizontalOffset
上调用ScrollViewer
方法,但它似乎不适用于我提供的任何数字。有什么问题?
答案 0 :(得分:0)
也许偏移仅适用于非缩放视图,其中图像完全填满ScrollViewer,因此无法滚动。您可以尝试设置图像尺寸,使其大于ScrollViewer,但设置原始ZoomFactor,以便首先填充ScrollViewer。然后缩放和滚动可能会起作用。
答案 1 :(得分:0)
在scrollviewer中分配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
添加double tap event
的同时试验canvas
的大小。更改image
的尺寸可以放大或缩小canvass
,因为图片位于{{1}}
答案 2 :(得分:0)
尝试使用“ ChangeView”而不是“ ZoomToFactor”