2009-06-12 4 views
3

다른 Datagrid의 RowDetailsTempalte 내에서 DataGrid를 사용하고 싶습니다. 이 내부 Datagrid는 외부 Datagrid에있는 현재 객체의 속성에 바인딩 된 열을 가져야합니다. 예를 들어 바깥 쪽 Datagrid에 이름과 성으로 모든 연락처가 표시되는 경우 행을 선택하면 해당 연락처와 연결된 모든 전화 번호가 들어있는 다른 Datagrid를 볼 수 있습니다. 가장 흥미로운 것은 내부 Datagrid의 데이터가 외부 Datagrid의 데이터에 바인딩되는 방식입니다.다른 Datagrid의 RowDetailsTemplate 내에서 Datagrid 사용

<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> 

답변

1

이 스레드의 마지막 답변은 저에게 도움이되었습니다. How is access inner Datagrid in Silverlight?.

내부 DataGrid에서 ItemsSource="{Binding Phones}"을 설정하고 DataContext을 제거했습니다.

-3

대신 RowDetailsTemplate을 사용하십시오 : 여기 시작하는 지금까지이 일부 XAML입니다 DataGrid.RowDetailsTemplate Property.

DetailsVisibilityChanged 이벤트에 바인드 할 수 있으며 클릭 한 행의 DataContext을 전달합니다. 거기에서 세부 정보 데이터를 검색하고 그에 따라 RowDetailsTemplate을 업데이트 할 수 있습니다.

+0

해당 이벤트에 대한 참조를 찾을 수 없습니다. 해당 속성을 자세히 나타내는 더 좋은 링크가 있습니까? 또한 이미 RowDetailsTemplate을 사용하고 있습니다. –

관련 문제