using DoctorApp.Utils; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; using System.Text; using System.Windows.Controls; namespace DoctorApp.ViewModels { class MainViewModel : ObservableObject { public ObservableCollection Tabs { get; set; } public int Selected { get; set; } public MainWindowViewModel MainWindowViewModel { get; set; } Client client; public MainViewModel(MainWindowViewModel mainWindowViewModel) { this.MainWindowViewModel = mainWindowViewModel; client = this.MainWindowViewModel.client; Tabs= new ObservableCollection(); } public void NewConnectedUser(string username) { App.Current.Dispatcher.Invoke((Action)delegate { Tabs.Add(new ClientInfoViewModel { Username = username, }); }); } public void DisconnectedUser(string username) { App.Current.Dispatcher.Invoke((Action)delegate { foreach (ClientInfoViewModel item in Tabs) { if (item.Username == username) { Tabs.Remove(item); break; } } }); } } }