Récemment, je suis à la recherche pour atteindre cet objectif dans WPF et a trouvé une bonne solution. Ce que je voulais, c'était de le reproduire le mode de Liste dans l'Explorateur Windows, c'est à dire de haut en bas, puis de gauche à droite.
Fondamentalement, ce que vous voulez faire remplacer l' ListBox.ItemsPanel
propriété à utiliser un WrapPanel avec l'orientation de l'ensemble à la Verticale.
<ListBox>
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Vertical"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
Cependant, cela VA être lent lors du chargement d'un grand ensemble de données, comme il l'écharpe n'est pas virtualisé. Ce qui est important. Donc, cette tâche devient un peu plus que maintenant, vous devez écrire votre propre VirtualizedWrapPanel en étendant VirtualizedPanel et la mise en œuvre de IScrollInfo.
public class VirtualizedWrapPanel : VirtualizedPanel, IScrollInfo
{
// ...
}
Voilà ce que j'ai trouvé dans mes recherches avant de devoir passer à une autre tâche. Si vous souhaitez plus d'informations ou des exemples, s'il vous plaît commentaire.
La mise à JOUR. Ben Constable a une grande série sur la façon de mettre en œuvre IScrollInfo.
Il y a 4 articles au total. Une très bonne lecture.
Depuis, j'ai mis en place un virtualisé envelopper le panneau, il n'est pas une tâche facile, même avec l'aide de cette série d'articles.