IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Silverlight Discussion :

Caractèristiques d'une ListBox


Sujet :

Silverlight

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 23
    Par défaut Caractèristiques d'une ListBox
    Bonjour, je développe une application Silverlight me permettant d'afficher des messages dans un ListBox, je souhaiterais lui apporter divers caractéristiques que je n'ai pas trouvé :

    1. Ma ListBox est de largeur limitée (600), or certains messages affichés sont trop larges pour y être affichés en entier, du coup, la listbox s'affiche avec une scrollbar horizontale pour les voir. j'aimerai savoir comment faire en sorte que cette scrollbar n'apparaisse pas et qu'à la place le message s'affiche avec un retour chariot.

    2. Le rôle de ma listbox est d'afficher des données, pas de les sélectionner. comment faire pour la rendre insensibles aux manipulations de l'utilisateur, comme lors d'un contact avec la souris ?

    3. Est-il possible de faire 'boucler' une listbox pour la faire défiler indéfiniment ?

    Merci d'avance pour vos réponse que j'espère rapides ^^

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Citation Envoyé par Lennox Voir le message
    1. Ma ListBox est de largeur limitée (600), or certains messages affichés sont trop larges pour y être affichés en entier, du coup, la listbox s'affiche avec une scrollbar horizontale pour les voir. j'aimerai savoir comment faire en sorte que cette scrollbar n'apparaisse pas et qu'à la place le message s'affiche avec un retour chariot.
    Il te faut modifier le template des éléments de la ListBox

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 23
    Par défaut
    Comment je dois faire ? (je débute en SL et il faut que j'avance vite )

  4. #4
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Citation Envoyé par Lennox Voir le message
    1. Ma ListBox est de largeur limitée (600), or certains messages affichés sont trop larges pour y être affichés en entier, du coup, la listbox s'affiche avec une scrollbar horizontale pour les voir. j'aimerai savoir comment faire en sorte que cette scrollbar n'apparaisse pas et qu'à la place le message s'affiche avec un retour chariot.
    Il faut définir ton template et mettre la propriété TextWrapping de ton TextBlock à Wrap.

    2. Le rôle de ma listbox est d'afficher des données, pas de les sélectionner. comment faire pour la rendre insensibles aux manipulations de l'utilisateur, comme lors d'un contact avec la souris ?
    Ah ben là c'est pas une ListBox qu'il faut utiliser mais un ItemsControl

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <ItemsControl x:Name="liste">
        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <StackPanel>
                    <TextBlock Text="{Binding xxx}" TextWrapping="Wrap" />
                </StackPanel>
            </DataTemplate>
        </ItemsControl.ItemTemplate>
    </ItemsControl>

    3. Est-il possible de faire 'boucler' une listbox pour la faire défiler indéfiniment ?
    Pas compris.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 23
    Par défaut
    Merci pour l'itemscontrol, c'est effectivement beaucoup plus intéressant.

    Mais je ne peu pas implémenter le textwrapping : je rempli mon ItemsControl à partir d'une base de données (par linq), je déclare donc simplement mon contrôle dans le xaml comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <ItemsControl x:Name="liste_annonces" Width="600">
    <!--mise en forme du controle-->
    </ItemsControl>
    Et j'y insère mes messages à partir du xaml.cs comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    liste_annonces.ItemsSource = e.Result;
    e.result étant la liste de strings retournée par ma requête linq, or l'ItemTemplate que tu m'a fourni n'est pas adapté à cette méthode

    As tu une meilleure solution ? ou devrai-je modifier ma méthode d'insertion et si oui Comment ?

    Par rapport au troisième point, c'est très simple, je souhaite ajouter à mon application Silverlight une animation automatique permanente qui, dès l'ouverture du programme jusqu'à sa fermeture, va faire défiler tous les éléments de mon ItemsControl.

    Le problème ,c'est qu'une fois à la fin de la liste, il n'aura bien sur plus rien à afficher, alors je souhaiterai reprendre la liste depuis le début à chaque fois pour faire un défilement continu...

  6. #6
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Citation Envoyé par Lennox Voir le message
    e.result étant la liste de strings retournée par ma requête linq, or l'ItemTemplate que tu m'a fourni n'est pas adapté à cette méthode
    Ben adapte le

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    <TextBlock Text="{Binding}" TextWrapping="Wrap" />

    Qu'est-ce qui ne va pas avec ça ?

    Par rapport au troisième point, c'est très simple, je souhaite ajouter à mon application Silverlight une animation automatique permanente qui, dès l'ouverture du programme jusqu'à sa fermeture, va faire défiler tous les éléments de mon ItemsControl.
    Euh surement possible mais j'ai jamais fait.

  7. #7
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Citation Envoyé par Lennox Voir le message
    Par rapport au troisième point, c'est très simple, je souhaite ajouter à mon application Silverlight une animation automatique permanente qui, dès l'ouverture du programme jusqu'à sa fermeture, va faire défiler tous les éléments de mon ItemsControl.
    Avec un Timer, tu dois pouvoir accéder au scrollviewer de ton ItemsControl pour jouer avec

    Pas testé mais l'idée est là !

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 23
    Par défaut
    Ok merci Skyounet, je suis un pire noob

    Avec un Timer, tu dois pouvoir accéder au scrollviewer de ton ItemsControl pour jouer avec
    Comment je fais ?

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 23
    Par défaut
    Bump

    Je cherche comment faire de mon coté mais ça fait pas vraiment avancer le scmilblick : je tombe toujours sur des trucs en flash ou en JS...

    Si vous pouviez m'éclairer d'avantages, ce serait vraiment sympa...

Discussions similaires

  1. [MFC] Probleme d'actualisation d'une listbox
    Par Robleplongeur dans le forum MFC
    Réponses: 5
    Dernier message: 13/05/2004, 14h15
  2. [C#]Sauvegarde d'une selection multiple d'une listbox?
    Par onouiri dans le forum ASP.NET
    Réponses: 7
    Dernier message: 29/04/2004, 17h16
  3. Réponses: 3
    Dernier message: 25/03/2004, 11h35
  4. [debutant][servlet]erreur causée par une listBox
    Par omega dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 05/03/2004, 10h53
  5. Icône a coté du texte dans une ListBox
    Par joce3000 dans le forum C++Builder
    Réponses: 6
    Dernier message: 05/12/2003, 02h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo