locked
ListBox et ScrollViewer RRS feed

  • Question

  • Bonjour, 

    j'ai un petit problème, je souhaiterais relié le déplacement d'une listbox, sur une autre.

    Je m'explique plus en détails. J'aimerais faire en sorte que le contenu d'une listbox se prolonge (aux pixels prés) dans une autre,

    et que le scrolling de l'une affecte le scrolling de l'autre

    Pour illustrer, voila ce que j'essaye de faire.

    Pour faire cela je pensais simplement jouer sur le ScrollToHorizontalOffset de mes listbox.

    J'arrive à prendre le controle du scrollviewer de mes listbox, mais de façon chaotique(et pas du tout depuis le xaml)

    si je fais 

    InitializeComponent();

    ScrollViewer viewer = ((VisualTreeHelper.GetChild(listBox1, 0) as FrameworkElement).FindName("ScrollViewer") as ScrollViewer);

    j'ai une erreur d'index...

    Donc voila, comment faire pour faire un binding entre les  ScrollToHorizontalOffset de mes listbox.

    (Dois je faire une classe dérivée de listbox pour avoir la main sur le scrollviewer?)

    Si je pouvais avoir la main sur cette propriété directement depuis le xaml ça serait l'idéal.

    Je sais pas si j'ai été clair dans mon explication, je suis encore débutant.

    Un Grand merci d'avance.

    jeudi 22 mars 2012 10:59

Réponses

  • Bonjour,

    Je vous suggère d'expliquer également le résultat que vous souhaitez obtenir. Je n'ai jamais vu ce genre d'interface. Je me demande si votre but ne serait pas que l'utilisateur croit manipuler une listbox unique et que l'élément central soit celui sélectionné avec une mise en forme particulière comme on peut le voir par exemple dans des interfaces de sélection d'une vidéo. Si oui, il y a sans doute plus simple.

    Sinon voir http://stackoverflow.com/questions/263485/how-do-you-access-the-scrollviewer-element-of-a-listbox-control-in-silverlight-c pour l'accès au ScrollViewer d'une listbox (je pense que le plus propre serait effectivement d'hériter du contrôle et d'exposer cette propriété ou éventuellement de faire une méthode d'extension).


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".


    samedi 24 mars 2012 17:15

Toutes les réponses

  • Bonjour,

    Je vous suggère d'expliquer également le résultat que vous souhaitez obtenir. Je n'ai jamais vu ce genre d'interface. Je me demande si votre but ne serait pas que l'utilisateur croit manipuler une listbox unique et que l'élément central soit celui sélectionné avec une mise en forme particulière comme on peut le voir par exemple dans des interfaces de sélection d'une vidéo. Si oui, il y a sans doute plus simple.

    Sinon voir http://stackoverflow.com/questions/263485/how-do-you-access-the-scrollviewer-element-of-a-listbox-control-in-silverlight-c pour l'accès au ScrollViewer d'une listbox (je pense que le plus propre serait effectivement d'hériter du contrôle et d'exposer cette propriété ou éventuellement de faire une méthode d'extension).


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".


    samedi 24 mars 2012 17:15
  • Bonjour, 

    effectivement votre description est bien ce que je souhaite réaliser.

    Votre lien ma bien aider, j'ai enfin compris comment comment exposer des propriétés en héritant d'un contrôle.

    En mettant la main sur le scrollViewer de la listbox, j'ai réalisé l'effet voulu.

    Merci à vous.

    mercredi 28 mars 2012 15:35