我在XAML以下数据网格:如何在WPF中动态创建数据网格?
<DataGrid ItemsSource="{Binding View}" AutoGenerateColumns="False" IsReadOnly="True"
GridLinesVisibility="None" CanUserAddRows="False" CanUserDeleteRows="False"
CanUserResizeColumns="False" CanUserResizeRows="False"
CanUserReorderColumns="False" >
<DataGrid.ColumnHeaderStyle>
<Style TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="FontWeight" Value="Bold" />
<Setter Property="FontSize" Value="12" />
</Style>
</DataGrid.ColumnHeaderStyle>
<DataGrid.Columns>
<DataGridTextColumn Header="Type" Width="200" FontSize="12"
Binding="{Binding Path=Name}" />
<DataGridTemplateColumn Header="Ingredients" Width="*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<DataGrid ItemsSource="{Binding Ingredients}"
AutoGenerateColumns="False" IsReadOnly="True"
GridLinesVisibility="None" CanUserAddRows="False"
CanUserDeleteRows="False" CanUserResizeColumns="False"
CanUserResizeRows="False" CanUserReorderColumns="False" >
<DataGrid.ColumnHeaderStyle>
<Style TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="FontWeight" Value="Bold" />
<Setter Property="FontSize" Value="12" />
</Style>
</DataGrid.ColumnHeaderStyle>
<DataGrid.Columns>
<DataGridTextColumn Header="Ingredients"
Width="*" FontSize="12"
Binding="{Binding Path=IngredientName}"/>
<DataGridTextColumn Header="Quantite" Width="*"
FontSize="12" Binding="{Binding Path=Qty}"/>
</DataGrid.Columns>
</DataGrid>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
我试图找到一种方法来动态创建数据网格(以代码),这样我可以创建多个副本,并将其绑定到不同的数据源运行。
这可能吗?任何人都知道我可以如何处理这样一个复杂的数据网格?
为什么要创建数据网格的副本?只需在运行时更改数据源 – makc 2013-04-20 12:01:30
我需要显示多个网格 – JSchwartz 2013-04-20 16:16:20
@JScwartz是用户操作在运行时决定的网格数量?或者它只是很多的网格,但常数? – makc 2013-04-21 05:43:34