/// <summary> /// Initializes a new instance of the MainViewModel class. /// </summary> public MainViewModel() { if (IsInDesignMode) { // Code runs in Blend --> create design time data. CurrentDocument = new TournamentViewModel(CreateDesignTimeVm()); OpenedDocuments.Add(CurrentDocument); } else { new List <Model.Models.Tournament>(App.RestClient.GetAllWithHttpMessagesAsync().Result.Body).ForEach(t => Tournaments.Add(new TournamentViewModel(t))); } MessengerInstance.Register <OpenTournamentMessage>(this, m => { OpenedDocuments.Add(m.Tournament); CurrentDocument = m.Tournament; }); MessengerInstance.Register <CloseTournamentMessage>(this, m => { if (OpenedDocuments.Contains(m.Sender)) { CurrentDocument = OpenedDocuments[0]; OpenedDocuments.Remove(m.Sender); } }); }
private void OnDocumentClose(object sender, EventArgs e) { if (sender is DocumentViewModel document) { document.DocumentClosedEvent -= OnDocumentClose; OpenedDocuments.Remove(document); } }