locked
ListBox & Scroll infinie RRS feed

  • Question

  • Hello,

    Je cherche un moyen d'avoir une listBox dite "infinie" (quand on arrive en bas de la liste => chargement de nouveaux éléments) à la twitter.

    J'ai fais des recherche sur la toile mais je n'ai pas trouvé énormément de choses (étant débutant). Le site msdn donne un style a ajouter à App.xaml et une classe à créer, mais je ne sais pas comment utiliser les méthodes par la suite. Si quelqu'un pourrait expliciter un exemple ce serait sympa.

    Merci d'avance.

    vendredi 16 mars 2012 00:53

Réponses

  • Bonjour,

    Quel exemple a-tu trouvé ?

    Celui-ci est bien documenté et le code source est téléchargeable => http://blogs.msdn.com/b/slmperf/archive/2011/06/30/windows-phone-mango-change-listbox-how-to-detect-compression-end-of-scroll-states.aspx


    Pour que la discussion puisse être identifiée comme résolue merci de marquer les réponses qui vous ont aidées à solutionner votre problème comme "réponse".

    vendredi 16 mars 2012 08:44
  • Je n'ai pas pu ouvrir la solution dans Visual Studio, il me dit qu'il n'a pas pu chargé le projet. J'ai bien essayé aussi d'utiliser le MVVM dans mon projet mais je n'y suis pas arrivé.

    Y'aurait-il une solution sans le model MVVM?

    EDIT : Bon yavait un problème avec mon SDK qui était encore en 7.0, j'ai pu ouvrir le projet, ça devrait aller.

    EDIT2: Mon problème maintenant c'est que je souhaite ajouter de nouveaux éléments à une ObservableCollection et que ceux-ci s'ajoutent à ma listBox. La solution que tu m'as donné sert à surveiller le comportement de défilement (scroll) mais ne dit pas comment charger de nouveaux éléments dans l'affichage.

    EDIT3: Après de longues heures de batailles, i figured it out :D
               Il suffit d'aller sur le lien donné par Jérôme Dupuy, recopier la partie votrepage.xaml à l'endroit où vous souhaitez avoir votre ListBox (personnalisée) et recopier le code behind c# dans la votrepage.xaml.cs
    Ensuite vous aurez la possibilité de surveiller les différents états de votre ListBox (quand vous atteignez le haut de la ListBox, le bas, quand vous êtes en train de scroller, etc). Il suffira d'ajouter la méthode correspondante pour charger de nouveaux éléments. 


    vendredi 16 mars 2012 14:02

Toutes les réponses

  • Bonjour,

    Quel exemple a-tu trouvé ?

    Celui-ci est bien documenté et le code source est téléchargeable => http://blogs.msdn.com/b/slmperf/archive/2011/06/30/windows-phone-mango-change-listbox-how-to-detect-compression-end-of-scroll-states.aspx


    Pour que la discussion puisse être identifiée comme résolue merci de marquer les réponses qui vous ont aidées à solutionner votre problème comme "réponse".

    vendredi 16 mars 2012 08:44
  • C'est cet exemple, mais je n'ai compris où je dois placer le code du style de la "ScrollViewer", puis dans le code c# on dirait qu'il utilise le model MVVC (ce que je ne maîtrise pas encore) et donc je n'arrive pas à utiliser les méthodes.
    vendredi 16 mars 2012 13:46
  • Tu a essayé de télécharger l'exemple ?

    => http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-10-18-21-76/ListBoxVisualStatesDemo.zip

    Le style tu peux le mettre dans les ressources de la page par exemple <phone:PhoneApplicationPage.Resources></phone:PhoneApplicationPage.Resources>


    Pour que la discussion puisse être identifiée comme résolue merci de marquer les réponses qui vous ont aidées à solutionner votre problème comme "réponse".

    vendredi 16 mars 2012 13:54
  • Je n'ai pas pu ouvrir la solution dans Visual Studio, il me dit qu'il n'a pas pu chargé le projet. J'ai bien essayé aussi d'utiliser le MVVM dans mon projet mais je n'y suis pas arrivé.

    Y'aurait-il une solution sans le model MVVM?

    EDIT : Bon yavait un problème avec mon SDK qui était encore en 7.0, j'ai pu ouvrir le projet, ça devrait aller.

    EDIT2: Mon problème maintenant c'est que je souhaite ajouter de nouveaux éléments à une ObservableCollection et que ceux-ci s'ajoutent à ma listBox. La solution que tu m'as donné sert à surveiller le comportement de défilement (scroll) mais ne dit pas comment charger de nouveaux éléments dans l'affichage.

    EDIT3: Après de longues heures de batailles, i figured it out :D
               Il suffit d'aller sur le lien donné par Jérôme Dupuy, recopier la partie votrepage.xaml à l'endroit où vous souhaitez avoir votre ListBox (personnalisée) et recopier le code behind c# dans la votrepage.xaml.cs
    Ensuite vous aurez la possibilité de surveiller les différents états de votre ListBox (quand vous atteignez le haut de la ListBox, le bas, quand vous êtes en train de scroller, etc). Il suffira d'ajouter la méthode correspondante pour charger de nouveaux éléments. 


    vendredi 16 mars 2012 14:02