我需要将DataGrid添加到DataGridTempateColumn,所以我这样做了,但是它不能正常工作,我不知道我是否真的可以将DataGrid添加到DataGridTempateColumn?
<datagrid>
....
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<DataGrid HeadersVisibility="None" AutoGenerateColumns="False" CanUserAddRows="True" ItemsSource="{Binding ProjectCollection}">
<DataGridTextColumn Binding="{Binding Spec.Rev}" Width="*"></DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Spec}" Width="*"></DataGridTextColumn>
</DataGrid>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
...
</DataGrid>
编辑: 当ProjectCollection为null时,我们无法看到dataGrid,如图中第2行所示!
答案 0 :(得分:2)
我怀疑这会奏效。您将获得InvalidOperationException
- Items collection must be empty before using ItemsSource.
,因为您正在为Intner Grid设置ItemsSource,同时您将子项添加到DataGrid。
将这些列添加到dataGrid的Columns DP中,它将按您的需要运行 -
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<DataGrid HeadersVisibility="None" AutoGenerateColumns="False"
CanUserAddRows="True" ItemsSource="{Binding ProjectCollection}">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Spec.Rev}" Width="*"/>
<DataGridTextColumn Binding="{Binding Spec}" Width="*"/>
</DataGrid.Columns>
</DataGrid>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
答案 1 :(得分:1)
您可以将[{1}}与DataGrid
一起使用,而不是ListView
。
GridView