使ListView.ItemTemplate中的网格宽度与ListViewItem的宽度相同

时间:2011-06-23 19:44:05

标签: wpf

我要做的是让ItemTemplate中的Grid扩展到ListViewItem的宽度,而不仅仅是它需要的空间。这就是我不希望它看起来像:

enter image description here

基本上我希望红色网格是蓝色矩形的宽度(这是所选项目)。这是我的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>

提前致谢!

1 个答案:

答案 0 :(得分:25)

执行以下操作:

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

  ..