none
Disable autoscroll listbox a l'ajout d'un item RRS feed

  • Question

  • Bonjour,

    Je suis devant un problème depuis plusieurs jours, j'ai dans mon application un listbox bindé a une observableCollection. Lorsque je scroll dans cette listbox et qu'un élément est ajouté (en tête de liste) celle ci scroll automatiquement, je ne suis pas certain que ce soit un scroll mais plutôt la ScrollableHeight qui augmente, toujours est-il que cela pose un problème a l'utilisation. Imaginons que j'ajoute un élément toutes les secondes la liste ne serait pas consultable pour un utilisateur.

    Ma question est donc y a t-il une solutions pour empêcher cet effet.

    Merci d'avance pour votre aide.

    jeudi 17 mai 2012 03:58

Réponses

  • J'ai bien une solution, mais pas du tout classe et performante !

    RotationTransform de 180  degré pour la listbox et rotationtransform de 180 degré aussi pour les listboxitem, ainsi le haut devient le bas et ca résoud ton prob

    Mais c'est pas du tout élégant !


    S'il vous plaît n'oublier pas de marquer la ou les réponses qui aident à résoudre votre problème. Pour que la discussion puisse être marquée comme résolue

    lundi 21 mai 2012 12:28
    Modérateur

Toutes les réponses

  • Bonjour,

    Comme tu le dis, ta listbox ne scroll pas, en fait c'est un comportement logique de la listbox. Elle est à "n" éléments du début, du coup si tu en ajoutent tu as l'impression qu'elle se décale alors qu'au contraire elle ne bouge pas.

    Une solution serait de faire scroller la listbox "à la main", mais avant de faire cela il faudrait savoir si tu dois nécessairement ajouter en début. La logique de ce genre de control est d'ajouter à la suite. Pourquoi souhaites-tu ajouter au début de ta liste ?

    vendredi 18 mai 2012 10:44
  • Bonjour,

    Dans mon application j'ai une gestion des notifications et je doit donc afficher la dernière en tête de liste. J'ai trouve une solution "bricolage" qui consiste a pré-alloue x item pour la liste et de bloquer le scroll vertical en fonction du nombre d'item réellement visible. Cela marche plutôt pas mal mais c'est une solution pas très propre ...

    J'avais aussi pense a compenser cet effet en scrollant la liste au moment de l'ajout d'un item mais j'avais peur que cela puisse créer des artéfacts.

    Si tu connais une autre solution je suis preneur.

    Merci.

    samedi 19 mai 2012 14:08
  • J'ai bien une solution, mais pas du tout classe et performante !

    RotationTransform de 180  degré pour la listbox et rotationtransform de 180 degré aussi pour les listboxitem, ainsi le haut devient le bas et ca résoud ton prob

    Mais c'est pas du tout élégant !


    S'il vous plaît n'oublier pas de marquer la ou les réponses qui aident à résoudre votre problème. Pour que la discussion puisse être marquée comme résolue

    lundi 21 mai 2012 12:28
    Modérateur
  • Sinon en plus sérieux, tu peux faire un ScrollToVerticalOffset après l'agent, mais si le gars est en train de scroller, ca va poser problème, je crois sincérement que la seule solution viable est celle que je t'ai donné avant, même si je suis pas fan

    S'il vous plaît n'oublier pas de marquer la ou les réponses qui aident à résoudre votre problème. Pour que la discussion puisse être marquée comme résolue

    lundi 21 mai 2012 12:30
    Modérateur