Viewmodel有一个项目列表,每个项目都有另一个项目列表

时间:2014-01-13 15:44:56

标签: c# wpf mvvm

我有一个包含以下itemsource的数据网格

ItemsSource="{Binding Path=MyItems, Mode=OneWay}"

在每个项目中都有一个名为“MySubItems”的集合,我想在组合框中显示它们。但不知怎的,我无法联系到它们......

ItemsSource="{Binding MySubItems,Source={StaticResource MyItemsModel}}"

我该如何实现?谢谢!

1 个答案:

答案 0 :(得分:3)

您可以使用点表示法访问子属性:

ItemsSource="{Binding Path=MyItems.MySubItems, Mode=OneWay}"

但是,由于您尝试访问子对象的属性,我认为最简单的方法是将网格绑定到选定的值属性,然后将组合框绑定到该属性:

<ComboBox ItemsSource="{Binding SelectedItem.SubItems}"
          SelectedItem="{Binding SelectedComboItem}"
          IsSynchronizedWithCurrentItem="True"/>

DataGrid绑定:

<DataGrid ItemsSource="{Binding Path=MyItems, Mode=OneWay}"
          SelectedItem="{Binding SelectedItem, Mode=TwoWay}">