Faire un StackPanel Orientation Horizontale dans WPF
J'ai cette xaml
code dans un View
<StackPanel>
<Button Content="I am IRON" />
<ListView ItemsSource="{Binding Path=MeasuringDeviceCommunicators}">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Path=Name}"/>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackPanel>
La ItemSource
de la ListView
est lié à un List
dans mon ViewModel
(comme indiqué dans le code)
Quand je lance l'application toutes mes TextBlocks
sont présentés à la verticale même si j'ai mis le Orientation
de l'intérieur de la StackPanel à Horizontal
.
Essayer WrapPanel plutôt que StackPanel à la face interne
Cela n'a pas fonctionné 🙁 BTW, je suis vraiment nouveau dans WPF et XAML
J'espère que @Cédric Bignon solution qui pourrait vous aider. Veuillez essayer
Cela n'a pas fonctionné 🙁 BTW, je suis vraiment nouveau dans WPF et XAML
J'espère que @Cédric Bignon solution qui pourrait vous aider. Veuillez essayer
OriginalL'auteur Mehrdad Kamelzadeh | 2013-07-28
Vous devez vous connecter pour publier un commentaire.
Pour modifier la mise en page d'un
ListView
, utilisez leItemsControl.ItemsPanel
propriété:Vous pouvez aussi utiliser un
VirtualizingStackPanel
au lieu deStackPanel
, il peut améliorer les performances (si vous avez beaucoup d'éléments à afficher).Mise à jour
Si vous souhaitez ajouter une liste dans chaque élément de la pile du panneau, vous pouvez le faire en modifiant la
ItemTemplate
(qui représente la façon dont chaque élément est affiché).Par exemple:
Pour résumer, le
ListView
a 3 propriétés intéressantes pour définir la manière dont il est rendu:ItemsControl.ItemTemplate
: Représente la façon dont les éléments de la liste sont rendusItemsControl.ItemsPanel
: Représente la mise en page de la liste (la position et la taille des éléments dans la liste). Vous pouvez utiliserStackPanel
,VirtualizingStackPanel
,WrapPanel
, ...de Contrôle.Template
: Représente la façon dont l'ensemble de la liste est renduVoici un code à l'aide de ces propriétés:
Remarque, cette partie:
est équivalent à:
J'ai mis à jour mon post quelques secondes avant que vous avez écrit dans votre remarque. 😉
Wow, Il a travaillé. Merci. Mais je suis très triste Car je ne sais pas comment puis-je apprendre ces choses. Pour moi, qui a travaillé avec
Winforms
c'est en quelque sorte filaire. @CédricBignon qui livre de référence ou proposez-vous pour apprendre WPF?Je n'ai jamais lu aucun livre dans la programmation... D'apprendre ces choses, Internet est un outil très utile. Stackoverflow trop. Je suis sûr que la plupart des questions que vous devrez avoir déjà répondu sur ce site.
Désolé Si cette question idiote. Mais si je veux ajouter une nouvelle liste à l'intérieur de chaque
TextBlock
?OriginalL'auteur Cédric Bignon