我正在尝试使用XAML ScrollViewer“便宜地”为图像添加缩放缩放。然而问题是,当在图像周围平移时,它会一直拍到最左边。如果我向右滑动它看起来很好,但是第二个我释放图像,它会向左移动。
此问题仅在水平方向上持续存在 - 对于垂直平移,它可以正常工作。
我将此抽象为最简单的测试用例,并且它仍然存在。我的XAML代码如下:
<ScrollViewer>
<Image Source="http://i.imgur.com/1WlGT.jpg" />
</ScrollViewer>
感谢任何帮助。
答案 0 :(得分:14)
我已经解决了这个问题。
问题是您必须将HorizontalScrollBarVisibility设置为true。
<ScrollViewer x:Name="scrollViewer"
VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto"
ZoomMode="Enabled">
<Image Source="http://i.imgur.com/1WlGT.jpg" />
</ScrollViewer>
答案 1 :(得分: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>