private void CmdOpenPlayer(PlayerViewModel pvm)
 {
     ServerVM.Tabs.Add(pvm);
     pvm.RequestClose += PlayerViewModel_RequestClose;
     pvm.OnOpen();
     OpenPlayerCommand.NotifyCanExecuteChanged();
 }
 private void PlayerViewModel_RequestClose(object sender, EventArgs e)
 {
     if (sender is PlayerViewModel)
     {
         PlayerViewModel pvm = (PlayerViewModel)sender;
         ServerVM.Tabs.Remove(pvm);
         pvm.RequestClose -= PlayerViewModel_RequestClose;
         OpenPlayerCommand.NotifyCanExecuteChanged();
     }
 }
        private void CmdGetAll()
        {
            List <PlayerViewModel> toDo = Players.Where(x => !x.ScreenshotTaken && !ServerVM.Tabs.Contains(x) && x.Error == null).ToList();

            foreach (PlayerViewModel p in toDo)
            {
                ServerVM.Tabs.Add(p);
                p.OnOpen();
                p.RequestClose += PlayerViewModel_RequestClose;
                OpenPlayerCommand.NotifyCanExecuteChanged();
            }
        }