2011-10-21 2 views
0

내가 가지고있는 다음과 같은 데이터 구조 내에서 선택 항목에 바인딩 :데이터 그리드 ItemSource 다른 데이터 그리드

List<Customer> currentCustomers {...} 

public class Customer 
{ 
    public string ID { get, set } 
    public string Name { get, set } 
    [...] 
    public List<Products> { get, set } 
} 

나는 currentCustomers 목록에 바인딩 된 고객 데이터 그리드 있습니다. 내가 할 수 있기를 원하는 것은 두 번째 DataGrid를 고객 내의 선택된 항목에 바인딩하여 해당 고객에 대한 모든 제품 정보를 표시하는 것입니다.

즉, Customers DataGrid에서 Customer를 클릭하면 해당 Customers Products를 기반으로 두 번째 DataGrid가 자동으로 업데이트됩니다.

이것도 가능합니까?

만약 그렇다면,이 작업을 수행하는 방법을 알려주거나 알려주는 리소스가 있습니까?

답변

2

을 그냥 SelectedItem 속성에 바인딩 :

<DataGrid x:Name="customersList" CanSelectMultipleItems="false" ... /> 

<DataGrid x:Name="customerDetails" 
      ItemsSource = "{Binding ElementName = customersList, 
            Path = SelectedItem.Products}"> 
3

이 작동합니다 :

<DataGrid x:Name="one"></DataGrid> 
<DataGrid x:Name="two" DataContext="{Binding ElementName=one, Path=SelectedItem.Products}"></DataGrid>