public ClientViewModel(Views.Client window) { Window = window; if (!string.IsNullOrWhiteSpace(Properties.Settings.Default.IP)) { IP = Properties.Settings.Default.IP; } else { IP = ""; } KinectController = new KinectController(false); KinectController.PropertyChanged += new EventHandler((sender, e) => { RaisePropertyChanged("KinectController"); }); KinectController.NewRemoteFrameArrived += new EventHandler <NewRemoteFrameArgs>((sender, e) => { client.SendFrameToServer(e); }); KinectController.InitKinect(); Client = new Common.TCP.Client(Properties.Settings.Default.Port); Client.ClientPropertyChanged += new EventHandler((sender, e) => { RaisePropertyChanged("Client"); }); Client.ClientStartRequested += new EventHandler((sender, e) => { KinectController.Start(); }); Client.ClientStopRequested += new EventHandler((sender, e) => { KinectController.Stop(); }); Client.ClientPrepareRequested += new EventHandler((sender, e) => { KinectController.Prepare(); }); client.ClientForceFPSRequested += new EventHandler <bool>((sender, e) => { KinectController.ForceFPS(e); }); Client.ClientCloseRequested += new EventHandler((sender, e) => { CloseTimer.Start(); }); CloseTimer.Tick += CloseTimer_Tick; }