2016-11-25 4 views
0

Для того, чтобы Масштабируемые изображения я использую обертывание управления изображения с ScrollViewer как например:UWP Fit масштабируемых изображений в контейнере

<Page ...> 
    <ScrollViewer ZoomMode="Enabled" HorizontalScrollMode="Auto" VerticalScrollMode="Auto"> 
     <Image Source="http://i.imgur.com/iseJWq1.jpg" /> 
    </ScrollViewer> 
</Page> 

Я хочу изображение быть изменено, чтобы поместиться внутри страницы в оба горизонтальные и вертикальные направления, так же, как Stretch="Uniform" поведения элемента управления Image:

enter image description here

Но вместо этого он изменяет размер изображения, чтобы соответствовать только по горизонтали, отсечение избытка изображений по вертикали:

enter image description here

Я получил некоторую фору от this website, поэтому я изменил 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> 

Хотя это прекрасно работает на растяжение стороны вещи, изображение затем выравнивается слева от экрана, и странные вещи происходят, когда вы увеличить/уменьшить масштаб:

enter image description here

Игра с Stretch Свойства картинки не действуют.

Как мне сделать изображение масштабируемым, в то время как первоначальное подгонка изображения внутри его контейнера, как и любое приложение для просмотра фотографий?

ответ

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> 

... это именно то, что статья рекомендуется сделать.

+0

Хотелось бы, чтобы я начал уделять больше внимания статье. –