3

別のDatagridのRowDetailsTempalte内で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プロパティ

イベントにバインドすると、クリックされた行のDetailsVisibilityChangedが渡されます。DataContextそこから詳細データを取得し、RowDetailsTemplateそれに応じて更新できます。

于 2009-06-12T21:51:59.050 に答える