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
3 Réponses :
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
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
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; });
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 :)
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