public LobbyVM(PokemonLobbyClient model) { this.Model = model; model.UserChanged += model_UserChanged; //if it's possible to relogin, better Disconnected+=()=>Model.Dispose(); var _us = model.Users; usersDictionary = new Dictionary<int, UserVM>(_us.Count()); users = new ObservableCollection<UserVM>(); foreach (User u in _us) AddUser(u); User = new UserVM(model, Model.User); usersDictionary.Add(User.Id, User); users.Add(User); readonlyUsers = new ReadOnlyObservableCollection<UserVM>(users); UsersView = CollectionViewSource.GetDefaultView(Users); UsersView.SortDescriptions.Add(new SortDescription("State", ListSortDirection.Descending)); }
void AddUser(User user) { UserVM u = new UserVM(Model, user); usersDictionary.Add(u.Id, u); users.Add(u); }