public void ConnectionHandler(object sender, PropertyChangedExtendedEventArgs <bool> args)
 {
     Console.WriteLine("padreterno mannaggia");
     if (args.PropertyName == "connected")
     {
         Console.WriteLine("ballone");
         if (sender == RightServer)
         {
             if (args.NewValue)
             {
                 Dispatcher.Invoke(new Action(() =>
                 {
                     RightRectangle.Background = new SolidColorBrush(System.Windows.Media.Colors.LemonChiffon);
                     //  this.Hide();
                     mainWindow.Show();
                     Mouse.OverrideCursor = Cursors.None;
                 }));
             }
             else
             {
                 Dispatcher.Invoke(new Action(() =>
                 {
                     RightRectangle.Background = new SolidColorBrush(Color.FromArgb(255, 244, 244, 245));
                 }));
             }
         }
         else if (sender == LeftServer)
         {
             Console.WriteLine("Bastardo del signoruzzo");
             if (args.NewValue)
             {
                 Console.WriteLine("frocio di gesù");
                 Dispatcher.Invoke(new Action(() =>
                 {
                     LeftRectangle.Background = new SolidColorBrush(System.Windows.Media.Colors.LemonChiffon);
                     // this.Hide();
                     mainWindow.Show();
                     Mouse.OverrideCursor = Cursors.None;
                 }));
             }
             else
             {
                 Dispatcher.Invoke(new Action(() =>
                 {
                     LeftRectangle.Background = new SolidColorBrush(Color.FromArgb(255, 244, 244, 245));
                 }));
             }
         }
     }
 }
        public void ConnectionHandler(object sender, PropertyChangedExtendedEventArgs <int> args)
        {
            Dispatcher.Invoke(new Action(() =>
            {
                if (args.PropertyName == "connected")
                {
                    switch (((Server)sender).Status)
                    {
                    case 0: ((Server)sender).WinStatus = "Disconnected"; break;

                    case 1: if (((Server)sender).Side == 0)
                        {
                            ((Server)sender).WinStatus = "Connected as LeftServer";
                        }

                        else if (((Server)sender).Side == 1)
                        {
                            ((Server)sender).WinStatus = "Connected as RightServer";
                        }
                        break;

                    case 2: ((Server)sender).WinStatus = "Connecting..."; break;
                    }

                    if (cw != null && cw.IsVisible)
                    {
                        if (ch.LeftServer != null)
                        {
                            if (ch.LeftServer.Status == 1 || ch.LeftServer.Status == 2)
                            {
                                cw.leftbuttonmonitor.IsEnabled = false;
                            }
                            else if (ch.LeftServer.Status == 0)
                            {
                                cw.leftbuttonmonitor.IsEnabled = true;
                            }
                        }

                        if (ch.RightServer != null)
                        {
                            if ((ch.RightServer.Status == 1 || ch.RightServer.Status == 2))
                            {
                                cw.rightbuttonmonitor.IsEnabled = false;
                            }
                            else if (ch.RightServer.Status == 0)
                            {
                                cw.rightbuttonmonitor.IsEnabled = true;
                            }
                        }
                    }

                    if (((Server)(sender)).Status == 0)
                    {
                        stopCapturing();
                        if (((Server)(sender)).Side == 0)
                        {
                            ch.LeftServer = null;
                        }
                        else if (((Server)(sender)).Side == 1)
                        {
                            ch.RightServer = null;
                        }
                    }

                    if (pcRemote.SelectedItem != null && (((Server)(pcRemote.SelectedItem)).Status == 1))
                    {
                        buttonconnect.IsEnabled = true;
                        textconnect.Text        = "Disconnect";
                        textconnect.Foreground  = new SolidColorBrush(Colors.White);
                    }
                    else if (pcRemote.SelectedItem != null && (((Server)(pcRemote.SelectedItem)).Status == 2))
                    {
                        textconnect.Text        = "Connecting";
                        textconnect.Foreground  = new SolidColorBrush(Colors.Black);
                        buttonconnect.IsEnabled = false;
                    }
                    else if (pcRemote.SelectedItem != null && (((Server)(pcRemote.SelectedItem)).Status == 0))
                    {
                        buttonconnect.IsEnabled = true;
                        textconnect.Text        = "Connect";
                        textconnect.Foreground  = new SolidColorBrush(Colors.White);
                    }
                }
                ICollectionView view = CollectionViewSource.GetDefaultView(items);
                view.Refresh();
            }));
        }