我有一个绑定到人员列表的 ListBox。我想在网格中显示列表框的项目。我可以使用下面的代码完成此操作,但问题是使用此代码每个项目都有自己的网格。我希望一个网格包含所有项目,以便网格中的每一列自动缩放到最长字符串的宽度。我想我应该改为将数据绑定到网格?如何?
<ListBox ItemsSource="{Binding}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="{Binding Path=Name}" />
<TextBlock Grid.Column="1" Text="{Binding Path=Age}" />
<TextBlock Grid.Column="2" Text="{Binding Path=Gender}" />
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>