У меня есть 2 комбинированных списка, которые мы будем называть cbo1 и cbo2. Теперь есть связь между cbo1 и cbo2. когда я выбираю элемент на cbo1, в любом случае обновляется cS2 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>
Используемые объекты: Марка и Модель. У бренда есть свойство с именем Models, которое содержит коллекцию объектов Model (typeof IList). Так что в основном, отношения один-много между двумя классами.
Кстати, эти 2 класса используются в NHibernate. Теперь, когда я запускаю приложение, сначала загружается cbo1, который содержит коллекцию объектов Brand. Когда я выбираю товарный знак, заполняется cbo2 с коллекцией Model. Как вы заметили, оба Combobox-ов имеют свойство SelectedItem, привязанное к свойствам текущего объекта, в частности, Brand и Model. Когда я выбираю модель на cbo2, она не отражается на свойстве Model текущего объекта. Что-то, что я пропустил?