我想在WPF中添加Grid
作为ItemPanelTemplate
的{{1}}。
我知道有很多类似的问题。但到目前为止我所看到的所有这些都是在谈论动态添加行和列,而且他们没有以一种好的方式覆盖它(在我看来)。
所以我想要的东西可能是最简单的形式但是我不知道怎么做。
当然我知道它不起作用。但这只是为了表达我的想法。
ItemsControl
---------------------------------------- | #1 name | #1 trade name | --------------------------------------- | GridView | | Row1 | | Row2 | | . | | . | | RowN | ---------------------------------------- | #2 name | #2 trade name | ---------------------------------------- | GridView | | Row1 | | Row2 | | . | | . | | RowN | ---------------------------------------- ...
答案 0 :(得分:3)
无需更改ItemsPanel
的默认值(StackPanel)。只需将Grid
放在ItemTemplate中。像这样:
<ItemsControl>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding ArticleName}" Grid.Row="0" Grid.Column="0" />
<TextBlock Text="{Binding ArticleTradeName}" Grid.Row="0" Grid.Column="1" />
<ListView ItemsSource="{Binding Samples}" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="3">
<ListView.View>
<GridView>
.
.
.
<GridView>
</ListView.View>
</ListView>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>