locked
ListBox. Présenter les données sur plusieurs colonnes (de gauche à droite puis de haut en bas) RRS feed

  • Question

  • Bonjour
     
    J’affiche des objets qui sont tous du même type dans un ListBox, par défaut
    la répartition des objets se fait dans une seule colonne et de haut en bas.
     

    Comment faire pour que la répartition se fasse de gauche à droite sur 3
    éléments par exemple puis de haut en bas.

    Merci.

    mardi 29 octobre 2013 19:44

Réponses

  • Attention : le WrapPanel n'existe pas dans le Windows Phone SDK.

    Vous pouvez utiliser celui du toolkit Open Source http://phone.codeplex.com/ (et en plus , vous aurez d'autres contrôles comme l'AutoCompleteTextBox, etc.)


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    • Marqué comme réponse Aurel Bera lundi 4 novembre 2013 07:46
    mercredi 30 octobre 2013 08:10

Toutes les réponses

  • Bonjour,

    Voici le code XAML à utiliser :

    <ListBox ScrollViewer.HorizontalScrollBarVisibility="Disabled">
        <ListBox.ItemsPanel>
            <ItemsPanelTemplate>
                <WrapPanel IsItemsHost="True" />
            </ItemsPanelTemplate>
        </ListBox.ItemsPanel>
        <ListBoxItem>Item 1</ListBoxItem>
        <ListBoxItem>Item 2</ListBoxItem>
        <ListBoxItem>Item 3</ListBoxItem>
        <ListBoxItem>Item 4</ListBoxItem>
        <ListBoxItem>Item 5</ListBoxItem>
    </ListBox>

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance - P.O.S Informatique
    Blog : http://gilles.tourreau.fr - Suivez-moi sur Twitter
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCSA : SQL Server 2012
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 / TFS 2010 / Windows Azure

    mardi 29 octobre 2013 21:14
  • Attention : le WrapPanel n'existe pas dans le Windows Phone SDK.

    Vous pouvez utiliser celui du toolkit Open Source http://phone.codeplex.com/ (et en plus , vous aurez d'autres contrôles comme l'AutoCompleteTextBox, etc.)


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    • Marqué comme réponse Aurel Bera lundi 4 novembre 2013 07:46
    mercredi 30 octobre 2013 08:10
  • Bonjour,

    Est-ce que vous avez testé les solutions proposées ? Merci de partager avec nous les résultats, afin que d'autres personnes avec le même problème puissent profiter de cette solution.

    Cordialement,


    Aurel BERA, MSFT
    MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
    S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    jeudi 31 octobre 2013 07:53
  • Merci, ça marche.

    En effet il faut utiliser le WrapPanel qui est inclus dans le toolkit.

    Pour ceux qui chercheraient voila les détails:

    Après l'import du toolkit il faut ajouter le namespace dans l'en tête du xaml.

    xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"

    puis je l'ai utiliser le WrapPanel dans le ItemsPanelTemplate de la liste:

    <ListBox ItemsSource="{Binding MaListeDElements}" >
    	<ListBox.ItemTemplate>
    		<DataTemplate>
                    	<local:MyUserControl Width="140" Height="180" MyData="{Binding}" />
    		</DataTemplate>
    	</ListBox.ItemTemplate>
    	<ListBox.ItemsPanel>
            	<ItemsPanelTemplate>
                    	<toolkit:WrapPanel />
    		</ItemsPanelTemplate>
    	</ListBox.ItemsPanel>
     </ListBox>





    lundi 4 novembre 2013 21:29