为了使图像可缩放,我使用像这样的ScrollViewer包装图像控件:
<Page ...>
<ScrollViewer ZoomMode="Enabled" HorizontalScrollMode="Auto" VerticalScrollMode="Auto">
<Image Source="http://i.imgur.com/iseJWq1.jpg" />
</ScrollViewer>
</Page>我希望调整图像的大小,以适应页面的水平和垂直方向,就像Image控件的Image行为一样:

但相反,它调整图像大小,使其只适合水平方向,在垂直方向裁剪图像的多余部分:

我从本网站中获得了一些优势,所以我将xaml更改为:
<Page x:Name="Page"
... />
<ScrollViewer ZoomMode="Enabled" HorizontalScrollMode="Auto" VerticalScrollMode="Auto">
<Image Source="http://i.imgur.com/iseJWq1.jpg" Width="{Binding ActualWidth, ElementName=Page}" Height="{Binding ActualHeight, ElementName=Page}" />
</ScrollViewer>
</Page>虽然这在事情的延伸方面很好,但是图像随后会对齐到屏幕的左边,当你放大/缩小时会发生奇怪的事情:

播放图像的Stretch属性没有任何影响。
然后,我如何使图像缩放,同时最初将图像安装在它的容器内,就像任何照片查看程序一样?
发布于 2016-11-26 02:14:36
这样做是可行的:
<Page x:Name="Page" ...>
<ScrollViewer ZoomMode="Enabled" MinZoomFactor="1" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
<Image Source="http://i.imgur.com/iseJWq1.jpg" MaxWidth="{Binding ActualWidth, ElementName=Page}" MaxHeight="{Binding ActualHeight, ElementName=Page}"/>
</ScrollViewer>
</Page>...which正是这篇文章建议做的事情。
https://stackoverflow.com/questions/40810937
复制相似问题