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

Windows Phone .NET Discussion :

Avoir une ListBox Horizontale


Sujet :

Windows Phone .NET

  1. #1
    Membre extrêmement actif Avatar de DotNET74
    Homme Profil pro
    Watch R&D Engineer & Apprenti .NET
    Inscrit en
    Août 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Watch R&D Engineer & Apprenti .NET

    Informations forums :
    Inscription : Août 2003
    Messages : 1 986
    Par défaut Avoir une ListBox Horizontale
    Hello,

    tout est dans le titre....

    On peut spécifier l'orientation d'un StakPanel donc peut on en faire de même avec la ListBox ?

    je penses que non vu que la propriété n'est pas dispo....

  2. #2
    Membre Expert
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Par défaut
    C'est possible en modifiant le template du Panel qui gère l'ajout des éléments dans la ListBox.
    Ainsi tu peux avoir des Listbox qui s'arrange en rond par exemple avec un panel adapté.

    Pour ton orientation horizontal il suffit de définir un StackPanel avec une orientation Horizontal :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        <ListBox>
            <ListBox.ItemsPanel>
                <ItemsPanelTemplate>
                    <StackPanel Orientation="Horizontal"></StackPanel>
                </ItemsPanelTemplate>
            </ListBox.ItemsPanel>
        </ListBox>

  3. #3
    Membre extrêmement actif Avatar de DotNET74
    Homme Profil pro
    Watch R&D Engineer & Apprenti .NET
    Inscrit en
    Août 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Watch R&D Engineer & Apprenti .NET

    Informations forums :
    Inscription : Août 2003
    Messages : 1 986
    Par défaut
    Super merci bien pour l'astuce....

  4. #4
    Membre extrêmement actif Avatar de DotNET74
    Homme Profil pro
    Watch R&D Engineer & Apprenti .NET
    Inscrit en
    Août 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Watch R&D Engineer & Apprenti .NET

    Informations forums :
    Inscription : Août 2003
    Messages : 1 986
    Par défaut
    Hello,

    Bon j'ai mis ça en place mais ça ne fait l'effet souhaité !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <ListBox ItemsSource="{Binding Path=Items}" Grid.Column="2" Grid.Row="2">
      <ListBox.ItemsPanel>
        <ItemsPanelTemplate>
          <StackPanel Orientation="Horizontal"></StackPanel>
        </ItemsPanelTemplate>
      </ListBox.ItemsPanel>
      <ListBox.ItemTemplate>
        <DataTemplate>
          <Grid Background="Transparent">
            <Image Source="{Binding Path=BackgroundImageURL, Converter={StaticResource StringToBitmapConverter}}" Width="64" Height="64"></Image>
            <Image Source="{Binding Path=ImageURL, Converter={StaticResource StringToBitmapConverter}}" Width="64" Height="64"></Image>
           </Grid>
         </DataTemplate>
      </ListBox.ItemTemplate>
    </ListBox>

  5. #5
    Membre Expert
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Par défaut
    "ne fait pas l'effet souhaité" c'est un peu court comme description de ton probleme

  6. #6
    Membre extrêmement actif Avatar de DotNET74
    Homme Profil pro
    Watch R&D Engineer & Apprenti .NET
    Inscrit en
    Août 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Watch R&D Engineer & Apprenti .NET

    Informations forums :
    Inscription : Août 2003
    Messages : 1 986
    Par défaut
    Pourquoi ?

    je souhaites avoir une ListBox avec un défilement horizontale et non verticale.

    Ce que tu m'as indiqué plus haut ne fonctionne pas dans mon code (ci-joint).

    Faut-il mettre le DataTemplate à l'intérieur de la définition du ItemsPanelTemplate ?

  7. #7
    Membre Expert
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Par défaut
    Oui mais qu'est qui ne fonctionne pas ? L'alignement ? l'affichage de tes images ?
    Si tu remplace tes images par un TextBlock ceux-ci sont bien alignés (j'ai testé) :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
          <ListBox ItemsSource="{Binding}">
                <ListBox.ItemsPanel>
                    <ItemsPanelTemplate>
                        <StackPanel Orientation="Horizontal"></StackPanel>
                    </ItemsPanelTemplate>
                </ListBox.ItemsPanel>
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <Grid Background="Transparent">
                            <TextBlock Text="Toto"></TextBlock>
                        </Grid>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>

  8. #8
    Membre extrêmement actif Avatar de DotNET74
    Homme Profil pro
    Watch R&D Engineer & Apprenti .NET
    Inscrit en
    Août 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Watch R&D Engineer & Apprenti .NET

    Informations forums :
    Inscription : Août 2003
    Messages : 1 986
    Par défaut
    Ah ok,

    j'ai compris ta question

    en fait l'empilage se fait bien de gauche à droite mais on a le défilement de haut en bas....

  9. #9
    Membre Expert
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Par défaut
    Tu peux gerer les scrollbars à l'horiziontal de ta ListBox comme ceci :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <ListBox
    ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Disabled" 
    ...
    >
    ...
    </ListBox>

  10. #10
    Membre extrêmement actif Avatar de DotNET74
    Homme Profil pro
    Watch R&D Engineer & Apprenti .NET
    Inscrit en
    Août 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Watch R&D Engineer & Apprenti .NET

    Informations forums :
    Inscription : Août 2003
    Messages : 1 986
    Par défaut
    Ok,

    je vais mettre ça en place ce soir

    Grand merci.

  11. #11
    Membre extrêmement actif Avatar de DotNET74
    Homme Profil pro
    Watch R&D Engineer & Apprenti .NET
    Inscrit en
    Août 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Watch R&D Engineer & Apprenti .NET

    Informations forums :
    Inscription : Août 2003
    Messages : 1 986
    Par défaut
    Nickel

    Merci Msieur !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] N'avoir aucun item sélectionné dans une listbox
    Par neb2k7 dans le forum IHM
    Réponses: 2
    Dernier message: 18/07/2014, 21h37
  2. [XL-2010] Erreur système en enregistrement après avoir inséré une listbox
    Par Marinette20 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 14/03/2014, 17h23
  3. Réponses: 7
    Dernier message: 12/02/2010, 17h04
  4. [ZedGraph] Avoir une ligne horizontale
    Par afrodje dans le forum VB.NET
    Réponses: 6
    Dernier message: 22/05/2008, 12h46
  5. Réponses: 2
    Dernier message: 24/03/2008, 11h35

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