3

我想在另一个 Datagrid 的 RowDetailsTempalte 中使用 DataGrid。此内部 Datagrid 的列应绑定到外部 Datagrid 中当前对象的属性。例如,如果外部 Datagrid 按名字和姓氏显示所有联系人,如果我选择一行,我应该能够看到另一个 Datagrid,其中包含与该联系人关联的所有电话号码。我最感兴趣的是内部Datagrid的数据如何绑定到外部Datagrid的数据。这是我到目前为止开始的一些 XAML:

<data:DataGrid MinHeight="700" x:Name="contacts">
                <data:DataGrid.Columns>                       
                    <data:DataGridTextColumn Header="First Name" Binding="{Binding FirstName}"></data:DataGridTextColumn>
                    <data:DataGridTextColumn Header="Last Name" Binding="{Binding LastName}"></data:DataGridTextColumn>                        
                 </data:DataGrid.Columns>
                <data:DataGrid.RowDetailsTemplate>
                    <DataTemplate>
                        <StackPanel Background="Black">
                            <StackPanel Background="White" Margin="16">
                                <data:DataGrid DataContext="Contact.Phones">

                                </data:DataGrid>
                            </StackPanel>
                        </StackPanel>
                    </DataTemplate>
                </data:DataGrid.RowDetailsTemplate>
            </data:DataGrid>
4

2 回答 2

1

该线程上的最后一个答案帮助了我:如何在 Silverlight 中访问内部 Datagrid?.

在内部 DataGrid 上,我设置ItemsSource="{Binding Phones}"并删除了DataContext.

于 2009-06-15T23:01:21.810 回答
-3

改用 RowDetailsTemplate:DataGrid.RowDetailsTemplate Property

您可以绑定到DetailsVisibilityChanged事件,这将传递给您DataContext被点击的行。从那里您可以检索详细信息数据并进行RowDetailsTemplate相应更新。

于 2009-06-12T21:51:59.050 回答