[英]How to update a grid in a listbox with more rows and columns dynamically and programmatically in code (C# and WPF)
我有一个ListBox,其中每个项目都有一个DataTemplate来定义其结构。 它最初具有一个包含6行4列的网格。 但是然后在运行时,我想向该DataTemplate中的该网格添加更多行和列到特定的ListBoxItem。 我怎么做? 我是否需要创建一个新的DataTemplate,其中包含带有添加的行和列的网格? 我看到了太多的示例,这些示例看起来像我想要实现的目标,这些示例现在与所有Bindings,ObservableCollections,ViewModel等混淆了。 我该怎么办? 以下是该特定ListBox的WPF代码:
<ListBox Margin="0,138,28.58,156" Name="list" HorizontalAlignment="Right" Width="387.235" SelectionChanged="list_SelectionChanged">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
实际上,还有另一个操作员问类似的问题。 您可以看一下他的问题。 他的问题实际上是您的答案。
他使用了一个派生自Grid的自定义控件,并将其称为Board。 此外,他在运行时添加了行和列,这似乎正是您想要实现的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.