9

我正在尝试使用 XAML ScrollViewer 向图像“廉价”添加捏缩放。然而问题是,当在图像周围平移时,它会一直向左对齐。如果我向右滑动它,它看起来很好,但是当我释放图像时,它会弹回左侧。

此问题仅在水平方向上持续存在 - 对于垂直平移,它工作正常。

我将其抽象为最简单的测试用例,并且它仍然存在。我的 XAML 代码如下:

    <ScrollViewer>
        <Image Source="http://i.imgur.com/1WlGT.jpg" />
    </ScrollViewer>

任何帮助表示赞赏。

4

2 回答 2

14

我已经解决了这个问题。

问题是您必须将 Horizo​​ntalScrollBarVisibility 显式设置为 true。

<ScrollViewer x:Name="scrollViewer" 
                  VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" 
                  ZoomMode="Enabled">
        <Image Source="http://i.imgur.com/1WlGT.jpg" />
    </ScrollViewer>
于 2012-12-08T23:13:49.063 回答
3

仅说明 Michal Strzalkowski 在您的答案下方的评论中提到的可能解决方案,即图像以全尺寸显示(不适合容器边界)。使用与ElementName路径绑定的 XAML 快速修复

<ScrollViewer x:Name="SV_ImageZoom"           
              MaxZoomFactor="3"
              MinZoomFactor="1"
              ZoomMode="Enabled"                          
              HorizontalScrollBarVisibility="Auto"
              VerticalScrollBarVisibility="Auto">
    <Image Source="http://i.imgur.com/1WlGT.jpg"
           Width="{Binding Path=ViewportWidth, ElementName=SV_ImageZoom}" />
</ScrollViewer>
于 2015-10-15T05:13:20.933 回答