1

XAML を使用して親データ Context データにバインドする場合は、次のように記述できます。

<UserControl>
<RadGridView x:Name="Parentgrid">

  <RadGridView.RowDetailsTemplate>
         <DataTemplate>
               <RadGridView x:Name="childGrid" ItemsSource="{Binding DataContext.Result, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"  
                                     />
  </RadGridView.RowDetailsTemplate>

</RadGridView>
</UserControl>

しかし、コードが別のクラスにあることを考慮して、コードを使用してそれを行うにはどうすればよいでしょうか。したがって、次のように送信者と引数にアクセスできます。

 parentGrid.LoadingRowDetails += (sender, args) =>
                    {
                        RadGridView gridView = args.DetailsElement.FindName("childGrid") as RadGridView;

                        if (gridView != default(RadGridView))
                        {
                            gridView = //Should be able to access DataContext.Result
                        }


                    };
4

1 に答える 1

0

特定のタイプを探しているので、ここから FindVisualParent のようなメソッドを使用してビジュアル ツリーをたどることができます: How can I find WPF controls by name or type?

その時点で、基本的にバインディングの RelativeSource 部分と同等の処理が完了し、返されたオブジェクトの DataContext にアクセスできます。

于 2013-05-15T12:56:13.333 に答える