Мой CarouselViewControl блок жестов и панорамирования в ItemSource - PullRequest
0 голосов
/ 30 декабря 2018

Я использовал CarouselViewControl (https://github.com/alexrainman/CarouselView) в Xamarin.Forms с Моим пользовательским просмотром. Мой пользовательский просмотр был расширен Contentview и был добавлен Pinch & Pan Gesture Recgnizer. Контент пользовательского представления - Управление изображениями в формах. Iхотел скользить, панорамировать и масштабировать галерею изображений. Производительность жестов (пинч и масштабирование) была хорошей. Итак, я добавил CarouselViewControl для параметра скольжения. Но CarouselViewControl заблокировал жест моего пользовательского представления. Я не знаю, почему заблокировал мой жест-Recognizer.

Я зарегистрировал Recognizers в конструкторе

класс Android_ZoomViewer: ContentView

{

....

public Android_ZoomViewer (){

        PinchGestureRecognizer pinchGesture = new PinchGestureRecognizer();
        pinchGesture.PinchUpdated += PinchGesture_PinchUpdated;
        GestureRecognizers.Add(pinchGesture);

        var panGesture = new PanGestureRecognizer();
        panGesture.PanUpdated += OnPanUpdated;
        GestureRecognizers.Add(panGesture);


    }

}

в CarouselPage.xaml.cs

[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class CarouselPage : ContentPage
{

    public CarouselPage()
    {

           InitializeComponent();

var carousel = new CarouselViewControl ();

            ObservableCollection<Android_ZoomViewer> list= new ObservableCollection<Android_ZoomViewer>();
            hymn.Add(new Android_ZoomViewer() { Content = new ImageView() });
            hymn.Add(new Android_ZoomViewer() { Content = new ImageView() });
            hymn.Add(new Android_ZoomViewer() { Content = new ImageView() });


            ((ImageView)hymn[0].Content).SetBinding(Image.SourceProperty,"img1");
            ((ImageView)hymn[1].Content).SetBinding(Image.SourceProperty, "img2");
            ((ImageView)hymn[2].Content).SetBinding(Image.SourceProperty, "img3");

            carousel.ItemsSource = list;

inCarouselView, мой жест заблокирован ...

...