UWP在其容器中安装可缩放图像

时间:2016-11-25 18:53:10

标签: c# .net uwp uwp-xaml

要使图像可缩放,我正在使用procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;DataCol: Integer; Column: TColumn; State: TGridDrawState); begin try if Column.FieldName = 'FIRST_NAME' then DBGrid1.Canvas.Brush.Color := clGreen; finally DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State); end; end; 包裹图像控件,如下所示:

ScrollViewer

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

enter image description here

但相反,它仅调整图像大小以适合水平方向,在垂直方向上剪切多余的图像:

enter image description here

我从this website开始,所以我将xaml更改为:

Image

虽然这在拉伸方面工作正常,但图像会在屏幕左侧对齐,放大/缩小时会发生奇怪的事情:

enter image description here

使用图像的<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> 属性无效。

如何在最初将图像放入其容器内时使图像可缩放,就像任何照片查看器应用程序一样?

1 个答案:

答案 0 :(得分:1)

这有效:

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

......这正是文章建议完成的内容。