WPF中的多列ListView,不使用GridView

时间:2015-08-05 16:44:40

标签: wpf xaml listview

我正在尝试创建一个两列的ListView。我想避免在其中放置GridView,因为我匹配的设计规范非常简单。我可以通过ItemsControl获得我想要的确切行为:

        <ItemsControl ItemsSource="{Binding Items}">
            <ItemsControl.ItemTemplate>
                <DataTemplate>
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition />
                            <ColumnDefinition />
                        </Grid.ColumnDefinitions>
                        <TextBlock Text="{Binding Key}"     Grid.Column="0" />
                        <TextBlock Text="{Binding Value}"   Grid.Column="1" />
                    </Grid>
                </DataTemplate>
            </ItemsControl.ItemTemplate>
        </ItemsControl>

这可以在可用空间的两半之间很好地分隔项属性。但是,具有相同模板的ListView会显示彼此相邻的属性,而不会分离。有没有一种方法可以在没有GridView的情况下在ListView中实现所需的行为?

1 个答案:

答案 0 :(得分:0)

对于ItemsControl,请尝试设置ItemContainerStyle的{​​{1}}以横向拉伸孩子:

ItemsControl

对于<ItemsControl.ItemContainerStyle> <Style TargetType="ContentPresenter"> <Setter Property="HorizontalAlignment" Value="Stretch"/> </Style> </ItemsControl.ItemContainerStyle> ,请尝试设置ListView的{​​{1}}以横向拉伸孩子:

ItemContainerStyle