Windows Phone User Control Does Not Stretch in ListBox

I want the elements inside the ListBox to fill all the allocated space. But they do not. They use only the space that they need.

ListBox is as follows:

<ListBox x:Name="StripesList" Grid.Row="1"> <ListBox.ItemContainerStyle> <Style TargetType="ListBoxItem"> <Setter Property="HorizontalAlignment" Value="Stretch"/> <Setter Property="Margin" Value="0,4,0,4"/> </Style> </ListBox.ItemContainerStyle> </ListBox> 

And the user control associated as a ListBox:

 <UserControl x:Class="Blip.UI.Controls.StatusStrip" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" FontFamily="{StaticResource PhoneFontFamilyNormal}" FontSize="{StaticResource PhoneFontSizeNormal}" Foreground="{StaticResource PhoneForegroundBrush}" HorizontalAlignment="Stretch"> <Grid HorizontalAlignment="Stretch"> <Grid.RowDefinitions> <RowDefinition Height="*" MinHeight="76" /> <RowDefinition Height="20" /> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="64" /> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <Image Grid.Column="0" Grid.Row="0" Width="64" Height="64"/> <TextBlock Grid.Column="1" Grid.Row="0" Text="Test"/> <Grid Grid.ColumnSpan="2" Grid.Row="1"> <StackPanel Orientation="Horizontal" VerticalAlignment="Bottom"> <Image Source="/Resources/1.png" Width="18" Height="18"/> <TextBlock Text="Test" VerticalAlignment="Center" /> </StackPanel> </Grid> </Grid> </UserControl> 

Am I mistaken?

+4
source share
2 answers

You need to set HorizonatalContentAlignment to Stretch .

 <ListBox x:Name="StripesList" Grid.Row="1"> <ListBox.ItemContainerStyle> <Style TargetType="ListBoxItem"> <Setter Property="HorizontalAlignment" Value="Stretch"/> <Setter Property="HorizontalContentAlignment" Value="Stretch"/> <Setter Property="Margin" Value="0,4,0,4"/> </Style> </ListBox.ItemContainerStyle> </ListBox> 

This is due to the fact that otherwise the content simply takes up the required space, and not all the free space.

+13
source

Set HorizontalContentAlignment , ListBoxItems already stretched, their contents are not working.

+2
source

Source: https://habr.com/ru/post/1389921/


All Articles