public MainWindow() { InitializeComponent(); //test ctrOne = new StepOneControl(this); ctrTwo = new StepTwoControl(this) { Visibility = Visibility.Collapsed }; ctrThree = new StepThreeControl(this) { Visibility = Visibility.Collapsed }; ctrFour = new StepFourControl(this) { Visibility = Visibility.Collapsed }; ctrFive = new StepFiveControl(this) { Visibility = Visibility.Collapsed }; media.MediaEnded += (s, e) => { media.Source = new Uri(Appconfig.MP3); media.Play(); }; this.Loaded += (s, e) => { _logger.Debug("................启动......................"); media.Source = new Uri(Appconfig.MP3); media.Play(); }; gestureControl.OnKinectGestureDetected += gestureControl_OnKinectGestureDetected; ctrOne.SceneOver += OnSceneOver; ctrTwo.SceneOver += OnSceneOver; ctrThree.SceneOver += OnSceneOver; ctrFour.SceneOver += OnSceneOver; ctrFive.SceneOver += OnSceneOver; ctrOne.LayoutTransform = ctrTwo.LayoutTransform = ctrThree.LayoutTransform = ctrFour.LayoutTransform = ctrFive.LayoutTransform = this.LayoutTransform = new ScaleTransform(SystemParameters.PrimaryScreenWidth / 1920.0d, SystemParameters.PrimaryScreenHeight / 1080d); layoutGrid.Children.Add(ctrOne); layoutGrid.Children.Add(ctrTwo); layoutGrid.Children.Add(ctrThree); layoutGrid.Children.Add(ctrFour); layoutGrid.Children.Add(ctrFive); controls.Add(ctrOne); controls.Add(ctrTwo); controls.Add(ctrThree); controls.Add(ctrFour); controls.Add(ctrFive); _currentControl = ctrOne; //显示kinect可视窗口 string[] kv = ConfigurationManager.AppSettings["SkeletonInfo"].Split(','); double kWidth = Convert.ToDouble(kv[0]); double kHeight = Convert.ToDouble(kv[1]); double kLeft = Convert.ToDouble(kv[2]); double kTop = Convert.ToDouble(kv[3]); double kAlpha = Convert.ToDouble(kv[4]); KinectColorViewer kc2 = new KinectColorViewer(); kc2.Opacity = kAlpha; kc2.Width = kWidth; kc2.Height = kHeight; Canvas.SetLeft(kc2, kLeft); Canvas.SetTop(kc2, kTop); kc2.KinectSensorManager = gestureControl.KinectSensorManager; this.root.Children.Add(kc2); KinectSkeletonViewer ks = new KinectSkeletonViewer(); ks.Opacity = kAlpha; ks.Width = kWidth; ks.Height = kHeight; Canvas.SetLeft(ks, kLeft); Canvas.SetTop(ks, kTop); ks.KinectSensorManager = gestureControl.KinectSensorManager; this.root.Children.Add(ks); }
void OnSceneOver(object sender, EventArgs e) { var userControl = sender as UserControl; if (userControl != null) { userControl.Visibility = Visibility.Collapsed; var lastControl = userControl as IDirectionMove; if (lastControl != null) lastControl.Reset(); var index = controls.IndexOf(userControl); index++; var i = index % 5; var control = controls[i]; control.Visibility = Visibility.Visible; _currentControl = control as IDirectionMove; if (_currentControl != null) _currentControl.Initial(); if (sender as StepFourControl != null) ctrFive.Init(); } }