我有一个datagrid,其行详细信息显示第二行,包含行的历史信息。我在XAML中有这段代码:
<DataGrid HorizontalAlignment="Stretch" Margin="5,5,5,5" Grid.Row="1" VerticalAlignment="Stretch"
ItemsSource="{Binding DgdTareas}"
SelectedIndex="{Binding DgdTareasSelectedIndex}"
RowDetailsVisibilityMode="{Binding DgdTareasDetallesVisibility}">
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<DataGrid AutoGenerateColumns="false" HorizontalAlignment="Stretch" Margin="5,5,5,5" Name="dgdTareasPiezasHistorico" VerticalAlignment="Stretch" Grid.Row="1"
ItemsSource="{Binding Path=TareasPiezasHistorico}">
<DataGrid.Columns>
<DataGridTextColumn Header="IDEstado" Binding="{Binding IDEstado, Mode=TwoWay}" />
</DataGrid.Columns>
</DataGrid>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
</DataGrid>
主dataGrid,绑定Tareas类型的集合。该对象的ICollection类型为TareasHistorico。
所以我想第二个dataGrid的itemsSource是Tareas.TareasHistorico,但是我无法绑定这个属性。
感谢。
答案 0 :(得分:1)
用作DataTemplate
的{{1}}与DataGrid.RowDetailsTemplate
的{{1}}具有相同的对象集,即DataContext
类型的数据绑定集合中的项目{1}}。因此,您需要做的就是在内部DataGrid.ItemsTemplate
属性的Tareas
中使用ICollection
类的Tareas
属性的名称:
Binding Path
当然,您还必须确保该属性已声明为DataGrid.ItemsSource
。