【发布时间】:2010-12-23 06:17:42
【问题描述】:
我有 2 个组合框,我们称之为 cbo1 和 cbo2。现在,cbo1 和 cbo2 之间存在关系。当我在 cbo1 选择一个项目时,cbo2 ItemsSource 无论如何都会更新(因为它已绑定到 SelectedItem),下面是它的示例 XAML 代码。
<ComboBox x:Name="cbo1" Grid.Row="0" Grid.Column="1" Margin="5" SelectedItem="{Binding Path=Brand}"></ComboBox>
<ComboBox x:Name="cbo2" Grid.Row="1" Grid.Column="1" Margin="5" SelectedItem="{Binding Path=Model}" ItemsSource="{Binding ElementName=cbo1, Path=SelectedItem.Models}" DisplayMemberPath="Name"></ComboBox>
使用的对象是品牌和型号。 Brand 有一个名为 Models 的属性,其中包含一组 Model 对象( typeof IList )。所以基本上,这两个类之间是一对多的关系。
顺便说一下,NHibernate 中使用了这两个类。现在,当我运行应用程序时,包含 Brand 对象集合的 cbo1 将首先加载项目。当我选择一个品牌项目时,带有模型集合的 cbo2 被填充。正如您所注意到的,两个组合框都有 SelectedItem 属性,具体绑定到当前对象属性 Brand 和 Model。当我在 cbo2 上选择一个模型时,它不会反映到当前对象的模型属性。我错过了什么?
【问题讨论】:
标签: wpf data-binding binding combobox