У меня есть 2 ViewModels. Один из них называется User (содержащий основную информацию, ничего не притворяется), а другой называется Group, которая имеет свойство IEnumerable of User. Это IEnumerable подкреплена словарем (есть много пользователей, нужно искать их быстро)Добавление в коллекцию в MVVM
public class Group
{
#region Fields
private Dictionary<string, User> userLookup;
#endregion //Fields
public Group()
{
userLookup = new Dictionary<string, User>();
}
public User[] Users
{
get
{
return userLookup.Values.ToArray<User>();
}
set
{
foreach (var user in value)
{
if (!userLookup.ContainsKey(user.Login))
userLookup.Add(user.Login, user);
}
}
}
public bool AddUser(User user)
{
if (userLookup.ContainsKey(user.Login))
return false;
userLookup.Add(user.Login, user);
return true;
}
}
Теперь классу GroupViewModel нужно добавить новый пользователь, но все GroupViewModel получает показано UserViewModels, и функция «Добавить» принимает только тип «Пользователь». В настоящее время у меня есть внутренняя функция в UserViewModel, которая предоставляет базовый объект User, я просто задавался вопросом, победил ли это с целью использования MVVM.
Спасибо!
спасибо, не заметил, что один :) – TerrorAustralis