【发布时间】:2013-01-28 07:51:52
【问题描述】:
我认为this answer 是我的问题的解决方案,但我很难理解如何将其应用于我的问题。和其他帖子一样,我有两个想要保持同步的集合。我的模型对象有字符串集合:
public class Person {
public int PersonId {get; set; }
public string PersonName { get; set; }
public List<string> PersonNicknames { get; set; }
}
我将此模型对象包装在它自己的 ViewModel (PersonViewModel) 中。为了允许编辑昵称,我还将它们包装在自己的 NicknameViewModel 中。 PersonViewModel 然后公开一个ObservableCollection<NicknameViewModel> NicknameViewModelCollection,它在构造时填充:
foreach (string stringItem in _person.PersonNicknames)
{
var nicknameViewModel = new NicknameViewModel(stringItem);
this.NicknameViewModelCollection.Add(nicknameViewModel);
}
在PersonViewModel.NicknameViewModelCollection 中添加、删除或更改字符串时,更改不会反映在模型集合中(即Person.Nicknames)。每当用户修改、编辑或删除字符串项时,我都需要更新模型集合。我不明白链接的答案是如何工作的或如何将其应用于这个问题。一个例子会很棒......我在这里不知所措。
【问题讨论】:
标签: mvvm collections