Ориентация прокрутки.Оба в Xamarin Forms ScrollView

#xamarin.forms

#xamarin.forms

Вопрос:

У кого-нибудь есть какие-либо предложения, позволяющие ScrollView разрешать прокрутку в любом направлении.

Кажется, есть только горизонтальная и вертикальная ориентация прокрутки, но нет возможности выполнять оба одновременно.

Моя конечная цель — иметь возможность сжимать, масштабировать и прокручивать в любом направлении.

Ответ №1:

Orientation Свойство Xamarin Forms scrollview теперь принимает Both значение. Он прокручивается в обоих направлениях. Я использую Xamarin Forms версии 2.3.0.49.

<ScrollView HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" Orientation="Both">

Комментарии:

1. У меня это не работает. Это приводит к исключению во время выполнения. Xamarin Forms версии 2.3.3.180.

Ответ №2:

Вот как вы это делаете.

 var scroller = new ScrollView { Content = grid, Orientation= ScrollOrientation.Horizontal, VerticalOptions=LayoutOptions.FillAndExpand };
var vScroller = new ScrollView (){Content=scroller};
Content = vScroller;
  

Комментарии:

1. Это работает, но не позволяет прокручивать по диагонали.

Ответ №3:

ScrollOrientation не является [Flags] перечислением и не содержит Both значения, поэтому на данный момент я не поддерживаю это. Но это может сработать:

 new ScrollView {
    Orientation = ScrollOrientation.Vertical,
    Content = new ScrollView {
        Orientation = ScrollOrientation.Horizontal,
        Content = your_content_goes_here,
    }
}
  

Комментарии:

1. Это в основном тот же код, что и у user2986451, который работает для меня. Что у вас Content ? Я использую Label в StackLayout во внутреннем представлении горизонтальной прокрутки. Что не работает? Только одно направление прокрутки?

2. в документации говорится, что не следует помещать scrollview в scrollview learn.microsoft.com/en-us/dotnet/api /…