我有以下数据结构:
List<Customer> currentCustomers {...}
public class Customer
{
public string ID { get, set }
public string Name { get, set }
[...]
public List<Products> { get, set }
}
我有一个客户DataGrid绑定到currentCustomers
列表。
我希望能够做的是将第二个DataGrid绑定到客户中的选定项目,以显示该客户的所有产品信息。
即。用户单击Customers DataGrid中的Customer,然后基于该Customers Products自动更新第二个DataGrid。
这甚至可能吗?
如果是的话,是否有资源会告诉/告诉我这是如何完成的?
答案 0 :(得分:3)
这应该有效:
<DataGrid x:Name="one"></DataGrid>
<DataGrid x:Name="two" DataContext="{Binding ElementName=one, Path=SelectedItem.Products}"></DataGrid>
答案 1 :(得分:2)
只需将其绑定到SelectedItem属性:
<DataGrid x:Name="customersList" CanSelectMultipleItems="false" ... />
<DataGrid x:Name="customerDetails"
ItemsSource = "{Binding ElementName = customersList,
Path = SelectedItem.Products}">