gpt4 book ai didi

c# - 将网格添加到 ItemsControl 的 ItemsPanelTemplate

转载 作者:行者123 更新时间:2023-11-30 22:09:36 26 4
gpt4 key购买 nike

我想在 WPF 中添加一个 Grid 作为 ItemsControlItemPanelTemplate

我知道有很多类似的问题。但到目前为止,我所看到的所有这些都在谈论动态添加行和列,但它们并没有很好地涵盖它(在我看来)。

所以我想要的东西可能是最简单的形式,但我不知道该怎么做。

我当然知道这是行不通的。但这只是为了展示我的想法。

<ItemsControl>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
</Grid>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding ArticleName}" Grid.Row="0" Grid.Column="0" />
<TextBlock Text="{Binding ArticleTradeName}" Grid.Row="0" Grid.Column="1" />
<ListView Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="3">
.
.
.
</ListView>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
  ----------------------------------------  | #1 name     |  #1 trade name         |  ---------------------------------------  | GridView                             |  |     Row1                             |  |    Row2                              |  |    .                                 |  |    .                                 |  |     RowN                             |    ----------------------------------------  | #2 name     |  #2 trade name         |  ----------------------------------------  | GridView                             |  |    Row1                              |  |    Row2                              |  |    .                                 |  |    .                                 |  |     RowN                             |   ----------------------------------------  ...

最佳答案

无需更改 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>

关于c# - 将网格添加到 ItemsControl 的 ItemsPanelTemplate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21438616/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com