在 windows phone 8.1 中使用 scrollviewer 缩放时出现平移问题

Panning issue when zooming with scrollviewer in windows phone 8.1

我正在开发翻页视图以重新创建一些与照片应用程序完全一样的东西。 我在限制滚动区域(平移区域)时遇到问题,就像我不希望用户在图像不存在的黑暗区域中 zoom/scroll 一样。我可以通过插入堆栈面板来做到这一点,但必须将其高度和宽度指定为图像的宽度。但是我无法设置它,因为我无法获得图像的正确高度和宽度细节。

代码:

<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>

任何人都可以帮我解决这个问题吗? 或者任何替代品。

编辑: 它无助于将堆栈面板的高度和宽度动态设置为 ImageProperties 获得的图像高度和宽度的缩放版本。有没有其他选择

感谢 this 博客找到了答案(虽然不是很完美)。

我遇到的主要问题是: 当我们不做

 VerticalScrollBarVisibility="Auto" 
HorizontalScrollBarVisibility="Auto" 

在这个滚动查看器中,我们得到了一个向左对齐的不需要的效果,当我们默认这样做时,我们得到一个更大的图像并且图像不均匀。 这是在博客的帮助下解决的,方法是使用转换器将 Flipview(parent) maxheight 和 maxwidth 设置为设备高度宽度。在更改方向时您仍然会遇到问题,以便处理 onWindowSize 事件处理程序以重置 Flipview 的最大高度和宽度。(尽管请注意,这不是一个顺利的答案)。