我正在尝试创建一个两列的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中实现所需的行为?
答案 0 :(得分:0)
对于ItemsControl
,请尝试设置ItemContainerStyle
的{{1}}以横向拉伸孩子:
ItemsControl
对于<ItemsControl.ItemContainerStyle>
<Style TargetType="ContentPresenter">
<Setter Property="HorizontalAlignment" Value="Stretch"/>
</Style>
</ItemsControl.ItemContainerStyle>
,请尝试设置ListView
的{{1}}以横向拉伸孩子:
ItemContainerStyle