J'ai un Listbox avec ce formatWPF image à l'intérieur Grille ne seront pas alignés
<ListBox x:Name="lbAlbumSelect"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
</ListBox.ItemContainerStyle>
<ListBox.ItemTemplate>
<DataTemplate>
<Button Click="lbAlbumSelect_OnSelectionChanged">
<Button.Content>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="2*" />
</Grid.ColumnDefinitions>
<Image Grid.Column="0"
Source="{Binding album_img_src}"
HorizontalAlignment="Left"/>
<TextBlock Grid.Column="1"
TextWrapping="Wrap"
TextAlignment="Right"
HorizontalAlignment="Right"
Margin="2,0,0,0"
Text="{Binding album_name}" />
</Grid>
</Button.Content>
</Button>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
et il montre des données comme celui-ci
Mais je veux montrer des données comme celui-ci
Sans HorizontalContentAlignment
mis à Stretch
, le ListBoxItem
s n'occuperait pas toute la largeur de la commande parent, donc je ne peux pas l'enlever. Mais pourquoi Horizontal Alignment=Left
dans Image
ne fonctionne pas? Est-ce que c'est annulé ou quelque chose?
Essayez de régler l'alignement du contenu horizontal sur le bouton vers la gauche. – Kavish
Juste une note. Cela n'a aucun sens d'avoir un bouton dans le ItemTemplate d'un ListBox qui déclenche un gestionnaire SelectedChanged. Attacher un gestionnaire pour l'événement SelectedChanged de ListBox à la place. Ensuite, déposez le bouton et utilisez la grille comme élément de premier niveau du DataTemplate. – Clemens
La solution @Kavish a fonctionné, merci beaucoup. Clemens va essayer le plus tôt possible, merci –