Wpf 如何将RowDetailsTemplate中的datagrid绑定到另一个datacontext

Wpf 如何将RowDetailsTemplate中的datagrid绑定到另一个datacontext,wpf,binding,itemsource,rowdetailstemplate,Wpf,Binding,Itemsource,Rowdetailstemplate,我有一个Datagrid,它使用属性ItemsSource=“{Binding}”绑定到codebehind中的DataContext。那很好 现在我想在rowdailtemplate中添加一个数据网格。我想将这个内部数据网格绑定到外部数据网格之外的一个完整的其他源 我认为我只需要给内部数据网格一个名称,就可以在代码隐藏中访问这个内部数据网格,lideinnerDatagrid.DataContext=…。但是,我无法访问此元素 我怎样才能解决这个问题 下面是一些代码: <DataGri

我有一个Datagrid,它使用属性
ItemsSource=“{Binding}”
绑定到codebehind中的
DataContext
。那很好

现在我想在
rowdailtemplat
e中添加一个数据网格。我想将这个内部数据网格绑定到外部数据网格之外的一个完整的其他源


我认为我只需要给内部数据网格一个名称,就可以在代码隐藏中访问这个内部数据网格,lide
innerDatagrid.DataContext=…
。但是,我无法访问此元素

我怎样才能解决这个问题

下面是一些代码:

<DataGrid Name="datagrid1" ItemsSource="{Binding}" ...>
<DataGrid.RowDetailsTemplate>
    <DataTemplate>
       <StackPanel>
          <TextBlock Text="{Binding "a Property from the datagrid1 ItemSource (this works fine)"}" />
       </StackPanel>
       <StackPanel>
           <Datagrid Name="datagrid2" ItemsSource="{Binding}">
              ...
           </Datagrid>
       </StackPanel>
    </DataTemplate>
</Datagrid>

...
在后面的代码中,我通常写下如下内容: datagrid1.DataContext=…DataSet.Tables[“tablename”].DefaultView

对于datagrid1,它可以正常工作。但是,我无法访问RowDetails中的datagrid2。我将把一个完整的其他源绑定到datagrid2。我假设datagrid2不在可视化树(?)中。我不知道如何解决这个问题。

在这里发布您的代码,而且您根本不需要访问代码背后的元素。这将破坏绑定的目的。嗨,谢谢你的评论。我添加了一些代码。简言之:如何将datatable或列表绑定到rowdetailtemplate中的第二个datagrid2?