使用ScrollViewer进行图像捏合缩放,可以在平移上保持捕捉

Ste*_*eve 9 xaml microsoft-metro windows-8 winrt-xaml

我正在尝试使用XAML ScrollViewer"便宜地"为图像添加缩放缩放.然而问题是,当在图像周围平移时,它会一直拍到最左边.如果我向右滑动,它看起来很好,但第二个我释放图像,它向后滑动到左边.

此问题只能水平持续 - 对于垂直平移,它可以正常工作.

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

    <ScrollViewer>
        <Image Source="http://i.imgur.com/1WlGT.jpg" />
    </ScrollViewer>
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏.

Ste*_*eve 14

我已经解决了这个问题.

问题是您必须将Horizo​​ntalScrollBarVisibility设置为true.

<ScrollViewer x:Name="scrollViewer" 
                  VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" 
                  ZoomMode="Enabled">
        <Image Source="http://i.imgur.com/1WlGT.jpg" />
    </ScrollViewer>
Run Code Online (Sandbox Code Playgroud)

  • 对于出现上述问题的任何人,请将图像的起始宽度设置为scrollview视口的宽度:Image.Width = ImageScrollViewer.ViewportWidth; (5认同)