在 Windows Phone 8.1 中,使用 ScrollViewer 进行缩放时出现拖动问题。

3

我正在开发一个flipview,以重新创建类似于照片应用程序的东西。

当我限制滚动区域(pan区域)时遇到了问题,例如我不想让用户在图像不存在的黑暗区域缩放/滚动。我可以通过插入一个stackpanel来实现这一点,但必须指定其高度和宽度为图像的宽度。但是我无法设置这个值,因为我无法获取图像的正确高度和宽度细节。

代码:

<ScrollViewer x:Name="theScrollViewer" 
ViewChanged="theScrollViewer_ViewChanged"
HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
VerticalScrollBarVisibility="Auto" 
HorizontalScrollBarVisibility="Auto" 
ZoomMode="Enabled" MinZoomFactor="1" MaxZoomFactor="2" 
SizeChanged="OnSizeChanged">
    <StackPanel Orientation="Horizontal">
           <Image x:Name="theImage"
                       Stretch="Uniform" Source="Assets/2222.png"  />
     </StackPanel>
</ScrollViewer>

有人能帮我确切地完成这个吗? 或者有其他的解决方法。

编辑: 将StackPanel的高度和宽度动态设置为通过 ImageProperties 获得的图像高度和宽度的缩放版本并没有帮助。是否有任何替代方案?

1个回答

0

this博客的帮助下,我找到了答案(虽然不是非常完美)。

我面临的主要问题是: 当我们不做。

 VerticalScrollBarVisibility="Auto" 
HorizontalScrollBarVisibility="Auto" 

在这个滚动视图中,我们会遇到一个不希望的向左捕捉效果,而且默认情况下会得到一个较大的图像,而且图像不均匀。通过设置 Flipview(父级)的最大高度和最大宽度为设备高度宽度的转换器,可以通过博客的帮助来解决这个问题。但是当改变方向时,您仍然会面临问题,因此需要在 onWindowSize 事件处理程序中重置 Flipview 的最大高度和宽度。(请注意,这不是一个完美的答案)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接