public MainWindowContext(AddOnManager addOnManager) { showPrereleaseVersions = App.ShowPrereleaseVersions; AddOnManager = addOnManager; SortedClients = addOnManager.WorldOfWarcraftInstallation.Clients.ActiveOrderBy(client => client.FlavorName); firstSortedClient = SortedClients.ActiveFirstOrDefault(); firstSortedClient.PropertyChanged += FirstSortedClientPropertyChangedHandler; selectedClient = firstSortedClient.Value; }
protected override void Dispose(bool disposing) { if (disposing) { firstSortedClient.PropertyChanged -= FirstSortedClientPropertyChangedHandler; firstSortedClient.Dispose(); SortedClients.Dispose(); } }
public ClientListViewModel(ISubject subject, FacadeBase <ClientDisplayModel> facade) { this.subject = subject; this.facade = facade; subject.Subscribe(this); this.Clients = new ObservableCollection <ClientDisplayModel>(facade.GetAll()); this.SortedClients.Filter = FilterClient; this.RefreshClients = new DelegateCommand(() => SortedClients.Refresh(), obj => true); RaisePropertyChangedEvent("Clients"); RaisePropertyChangedEvent("SelectedClient"); }