ItemsControl avec orientation horizontale

Connaissez-vous des contrôles hérités de ItemsControl qui ont une orientation horizontale des éléments?

Changez simplement le panneau utilisé pour héberger les éléments:

       

Bien que la réponse promue soit géniale, voici une alternative si vous voulez que les éléments s’étirent.

      

La meilleure réponse est bonne, mais je ne pouvais pas la faire fonctionner avec UserControls. Si vous avez besoin de UserControls, cela devrait vous aider.

ItemsControl avec des contrôles d’utilisation horizontaux

Ma version:

              

Pour lier des données, vous devrez append un ItemsSource au ItemsControl dans le code XAML ou derrière. Notez également que uc: serait le xmlns:uc="NamespaceOfMyControl" déclaré en haut du fichier.

Voici un exemple de défilement horizontal dans un ItemsControl.

Tout d’abord, la classe viewmodel de la fenêtre principale utilisée pour obtenir / définir la liste des éléments que nous souhaitons afficher.

MainWindowViewModel.cs

 using System.Collections.Generic; namespace ItemsControl { public class Item { public Item(ssortingng title) { Title = title; } public ssortingng Title { get; set; } } public class MainWindowViewModel { public MainWindowViewModel() { Titles = new List() { new Item("Slide 1"), new Item("Slide 2"), new Item("Slide 3"), new Item("Slide 4"), new Item("Slide 5"), new Item("Slide 6"), new Item("Slide 7"), new Item("Slide 8"), }; } public List Titles { get; set; } } } 

La fenêtre principale xaml pour la vue:

MainWindow.xaml

                         

En fonction de la hauteur / largeur de votre zone client, cela se traduira par ce type de disposition, les éléments de débordement défilant horizontalement:

entrer la description de l'image ici

Plus de détails peuvent être trouvés sur ce lien de blog, y compris un exemple sur la façon de faire le défilement vertical:

http://www.technical-recipes.com/2017/how-to-orient-wrappanel-items-within-itemscontrol-lists-vertically-and-horizontally/