這就是情況。我有一個MVVM的WPF項目。讓我試着解釋一下吧..當通過另一個視圖添加新項目時,MVVM更新ListView
PersonView.xaml顯示了所有人一個ListView,這種觀點背後有視圖模型PersonViewModel.cs。這裏ListView PersonList被填充。
在PersonView.xaml也打開另一種觀點,NewPersonView.xaml與視圖模型NewPersonViewModel.cs它背後的按鈕。
我怎麼能刷新PersonView.xaml ListView控件,當我點擊NewPersonView.xaml保存按鈕,所以當添加新的人嗎?
如果需要,我可以提供代碼?
編輯:當我添加一個新的人,它保存在一個SQL數據庫。
private void AddPerson(Person per) {
PersonList.Add(per);
NotifyOfPropertyChange(() => PersonList); // this wont be needed if you use ObservableCollection
}
NewPersonViewModel.Initialize:
private Action<Person> _addPersonAction;
Initialize(Action<Person> addPersonAction) {
_addPersonAction = addPersonAction;
}
如果你想添加一個人你可以調用這個初始化它的時候要做到這一點
如果您的ListView綁定到ObservableCollection,將自動發生。如果它沒有爲你工作,那麼你需要提供你的代碼,以便我們能夠弄清楚什麼是錯誤的。 – AQuirky
他們必須共享完全相同的視圖模型。 – Will