-1
votes

Xamarin 4.2 Curseur automatique CarouselView

Existe-t-il un moyen de meke automatiquement le chage d'image sur un carrouselView dans xamarin 4.2? J'ai nommé la version des formulaires xamarin parce que dans cette version, il y a un CarouselView, donc je ne peux pas utiliser l'ancien nuget.org/packages/Xamarin.Forms.CarouselView/2.3.0-pre1 Dans cette ancienne version, il y avait une propriété Position qui doit être réglé sur n'importe quel élément dans cette nouvelle version incluse sur xamarinForms 4.2, cette propriété est manquante

Ce que je veux créer, c'est quelque chose pour montrer une image différente toutes les 4 secondes, avez-vous des suggestions?

Merci d'avance


2 commentaires

Vous pouvez modifier la Position de CarouselView dans le code derrière ou viewmodel en utilisant une minuterie. Vérifiez stackoverflow.com/questions/57507634/...


le problème est que la propriété Position n'existe pas dans xamarinforms 4.2 carouselview :) comme je l'ai dit ci-dessus


3 Réponses :


1
votes

Le Xamarin.Forms.CarouselView a eu un tas de problèmes ces derniers temps et je ne sais pas comment exactement tout à coup Xamarin a décidé de l'ajouter à la version 4.2, il semble également qu'il n'y ait pas de propriétés, ce qui est étrange comme enfer mais dans tous les cas, allons droit au but, donc j'étais confronté à des problèmes étranges avec le carrousel de Xamarin, alors j'ai commencé à utiliser le CarouselView.FormsPlugin et cela fonctionne à merveille dans toutes les situations

Nuget: https://www.nuget.org/packages/CarouselView.FormsPlugin/

Github: https://github.com/alexrainman/CarouselView

Pour info, il a toutes les propriétés du carrousel XF et plus encore:

Ajoutez l'espace de noms suivant:

<controls:CarouselViewControl Orientation="Horizontal" InterPageSpacing="10" Position="{Binding myPosition}" ItemsSource="{Binding myItemsSource}" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
<controls:CarouselViewControl.ItemTemplate>
    <DataTemplate>
        <local:MyView /> <!-- where MyView is a ContentView -->
    </DataTemplate>
</controls:CarouselViewControl.ItemTemplate>

Et puis utilisez-le quelque chose comme ceci:

xmlns:controls="clr-namespace:CarouselView.FormsPlugin.Abstractions;assembly=CarouselView.FormsPlugin.Abstractions"

Pour trouver des propriétés supplémentaires, recherchez la section Bindable Properties de la page d'accueil de Git.

Goodluck n'hésitez pas à revenir en cas de questions


2 commentaires

merci, cela ressemble à une excellente option, je vais essayer de le mettre dans une minuterie pour changer les images automatiquement


Bonne chance! Laissez-moi savoir en cas de questions



1
votes

J'ai créé un curseur automatique en utilisant le code suivant dans le constructeur.

Device.StartTimer(TimeSpan.FromSeconds(5), () =>
            {
                if (listOfSpotlight.Count == 0 || listOfSpotlight == null)
                {
                    return true;
                }
                slidePosition++;
                if (slidePosition == listOfSpotlight.Count) slidePosition = 0;
                caroselView.Position = slidePosition;
                return true;
            });


0 commentaires

0
votes

Vous pouvez essayer la réponse de Chetan Rawat ou

        Device.StartTimer(TimeSpan.FromSeconds(4), (Func<bool>)(() =>
        {


            cView.Position = (cView.Position + 1) % imagesList.Count;

            return true;
        }));

* ici cView est ma vue carrousel et imageList est ma liste qui contient les images qui doivent être glissées en vue carrousel.

Bon codage :)


0 commentaires