У меня есть приложение Windows Phone 8.1 с FlipView. Каждый элемент FlipView представляет собой страницу журнала (страница PDF, отображаемая для растрового изображения с некоторым оверлеем).Использование ScrollViewer внутри FlipView
Мне нужно включить щепотку для увеличения для всех страниц. Мой FlipView ItemTemplate выглядит следующим образом
<DataTemplate
x:Key="SinglePageTemplate">
<ScrollViewer
ZoomMode="Enabled">
<Grid>
<ProgressRing
HorizontalAlignment="Center"
VerticalAlignment="Center"
IsActive="{Binding IsRendered, Converter={StaticResource BooleanNegateConverter}}" />
<Image
Source="{Binding Bitmap}"
VerticalAlignment="Stretch"
HorizontalAlignment="Stretch">
</Image>
</Grid>
</ScrollViewer>
Проблема заключается в том, что когда я уменьшить страницу и попробуйте переместить его вправо, он всегда «прыгает» обратно влево.
Вот видео, показывающее проблему: https://dl.dropboxusercontent.com/u/73642/fv.avi
Любые идеи, почему и как это исправить?
Я думаю, что я знаю, что здесь происходит. Когда вы полностью уменьшаете масштаб изображения и пытаетесь прокручивать его, вы фактически просматриваете элемент FlipView вместо родительского контейнера. –
У меня была очень похожая проблема на Windows 8.1. Почти такой же сценарий. Я обнаружил, что настройка Horizontal и Vertical ScrollBarVisibility для Auto на ScrollViewer помогла - но тогда, если отображаемая страница PDF больше, чем разрешение экрана (обычно это означает, что для масштабирования для работы ОК), она была слишком большой. Таким образом, я сделал это, чтобы ограничить максимальную ширину сетки до Window.Current.Bounds.Width и максимальной высоты до той же ширины, умноженной на коэффициент масштабирования, исходя из формата страницы вашего журнала. И тогда это сработало. –
Вид выглядит так, как будто он нажимает [snap points] (https://msdn.microsoft.com/library/windows/apps/br209553), вы можете попытаться найти такие свойства, как MandatorySingle или None. –