У меня есть коллекция, связанная с Combobox, и ее SelectedItem привязан к моему свойству viewmodel SelectedItem
.
<ComboBox ItemsSource="{Binding itemSource}"
SelectedItem="{Binding SelectedItem}"/>
Класс SelectedItem
выглядит следующим образом:
public class SelectedItem
{
public AnotherViewModel anotherViewModel {get;set;}
}
Я использовал Usercontrol, как показано ниже:
<local:usercontrol DataContext="{Binding SelectedItem.anotherViewModel}"/>
Я пытаюсь изменить содержимое usercontrol при изменении выделения в выпадающем списке на главном экране.
Изменения в свойствах anotherViewModel
отражает вид только в первый раз.При отладке кода я обнаружил, что свойства anotherViewModel
содержат новые значения, но они не отражаются на просмотре.
Любая помощь будет принята.
Редактировать
Public class MainViewModel
{
public string property1 {get;set;} //has propertychanged implemented
public ObservableCollection<Item> Items {get;set;} //combobox itemsource
public Item SelectedItem {get;set;}//combobox selecteditem
}
public class Item
{
public AnotherViewModel anotherViewModel {get;set;}//has propertychanged implemented
}
public class AnotherViewModel
{
public string property1 {get;set;} //has propertychanged implemented
public string property2 {get;set;} //has propertychanged implemented
public ObservableCollection<string> items {get;set;} //has propertychanged implemented
}
<Window>
<Textbox Text="{Binding property1}"/>
<ComboBox ItemsSource="{Binding Items}"
SelectedItem="{Binding SelectedItem}"/>
<local:usercontrol DataContext="{Binding SelectedItem.anotherViewModel}"/>
<Window>
<UserControl>
<ListView ItemsSource="{Binding items}"/>
</UserControl>