Windows 8 ListView avec l'horizontale de l'élément de flux
Comment puis-je faire la ListItems à l'intérieur de windows 8 ListView à flux horizontal. Le comportement par défaut est vertical, mais j'en veux pour preuve la liste à flux horizontal de sorte qu'il peut rendre comme panorama.
J'ai essayé GridView qui prend en charge la mise en page horizontale, mais il y a une limitation sur le point de la hauteur qui ne montre pas la complète de l'élément de contenu pour les éléments avec un grand texte.
Même si c'est une réponse à ce sujet WPF, cela a fonctionné pour moi dans mon application WinRT: stackoverflow.com/questions/359217/...
OriginalL'auteur bdaniel | 2012-07-04
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser une liste de cette façon:
-- qui lui donne un panneau horizontal et le droit de Barres de défilement le défilement horizontal.
Les deux ListView et GridView peut causer des problèmes lorsque vous obtenez des articles volumineux. Je pense que par défaut, les éléments pourraient être dimensionné en fonction de la taille du premier élément ajouté. Vous pouvez définir la taille que manuellement:
-- notez que tous les articles doivent être de la même taille.
-- aussi remarque - j'ai changé de cette réponse pour remplacer un
StackPanel
avec unItemsStackPanel
qui est virtualisé, il devrait vous obtenir de meilleures performances et une plus faible utilisation de la mémoire pour de grands ensembles de données, mais VEUILLEZ - ne pas créer des mises en page avec les grands, horizontalement des listes déroulantes. Ils pourraient être une bonne solution à un nombre très limité de scénarios, mais dans la plupart des cas, ils se cassent beaucoup de bonnes de l'INTERFACE utilisateur de motifs et de rendre votre application plus difficile à utiliser.Notez que l'utilisation de
StackPanel
comme leItemsPanel
désactive la virtualisation de sorte que vous ne devriez pas l'utiliser avec des listes de incontrôlé de la taille. J'essaierais d'utiliserItemsStackPanel
plutôt que dans de tels cas. Je ne suis pas la mise à jour de la réponse, bien que depuis je n'ai pas testé. Assez sûr que ça devrait fonctionner, cependant.en 8.1 il y a quelque chose qui s'appelle un "VirtualizingStackPanel"
VirtualizingStackPanel
est le vieux panneau connu à partir de 8.0, Silverlight et WPF. Je croisItemsStackPanel
est le nouveau et amélioré panneau avec de meilleures performances et des fonctionnalités supplémentaires.J'ai essayé cette solution sur Windows Phone 8.1 et je voudrais suggérer l'ajout d'
ManipulationMode="TranslateRailsX"
. De ce fait le défilement horizontal possible que si votre liste est à l'intérieur d'un FlipView ou quelque chose de similaire. Aussi, quand j'ai supprimer des éléments de Liste, je recevais des problèmes dans l'animation, mais pas après l'ajout de cette. De travail Lisse comme Prévu.OriginalL'auteur Filip Skakun
Vous pouvez également encapsuler Filips approche à l'aide d'un style:
L'appliquer à votre ListViews:
OriginalL'auteur Markus Bruckner
Je préfère les styles approche, mais vous devez être prudent de modifier l'orientation du panneau. Avant la première mise en page visuelle passer les éléments de contrôle le panneau ne peut pas être créé et ne seront donc pas disponibles pour modifier. Vous devez trouver une stratégie pour gérer l'orientation initiale si elle est différente de celle d'une ligne de votre code Xaml. Peut-être affecter la ItemsPanelTemplate via un accesseur set de style ainsi.
OriginalL'auteur DrewCan