Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Make a grid's width in ListView.ItemTemplate the same width as the ListViewItem

Tags:

wpf

What I'm trying to do is to make a Grid inside of the ItemTemplate expand to the width of the ListViewItem and not to just the space it needs. This is how I DON'T want it to look like:

enter image description here

Basically I want the red grid to be the width of the blue rectangle (which is the selected item). This is my XAML:

<ListView ItemsSource="{Binding}">
    <ListView.ItemTemplate>
        <DataTemplate>
            <Grid Background="Red">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*" />
                    <ColumnDefinition Width="*" />
                </Grid.ColumnDefinitions>
                <TextBlock Grid.Column="0" Text="{Binding FirstName}" />
                <TextBlock Grid.Column="1" Text="{Binding LastName}" />
            </Grid>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

Thanks in advance!

like image 701
Carlo Avatar asked Jun 23 '11 19:06

Carlo


1 Answers

Do the following:

<ListView ItemsSource="{Binding}">
  <ListView.ItemContainerStyle>
    <Style TargetType="ListViewItem">
        <Setter Property="HorizontalContentAlignment" Value="Stretch" />
    </Style>
  </ListView.ItemContainerStyle>

  ..
like image 181
HCL Avatar answered Nov 05 '22 11:11

HCL