private void Start_Training(object sender, RoutedEventArgs e)
        {
            String trainingName = TrainingNameSelect.Text;

            if (trainingName == null || trainingName.Equals(""))
            {
                MessageBox.Show("请选择训练");
                return;
            }


            this.training = MyTraining1Factory.createPostureTraining(trainingName);

            training.next();
            if (!training.isFinish())
            {
                targetImageElement.Source = training.getPosture().getPic();
            }

            //update UI
            TrainingProgress.Value = training.getProgess();
            StatusLabel.Content    = training.SuccessCount + " / " + training.Index;

            consumer.start();
            timer.Start();
        }
        private void Stop_Training(object sender, RoutedEventArgs e)
        {
            this.training = null;
            this.targetImageElement.Source = null;
            resetInfoArea();

            timer.Stop();
            consumer.stop();
        }
        private void Start_Game(object sender, RoutedEventArgs e)
        {
            Process p = Process.Start(Constant.GAME_EXE_PATH);

            socket = serverSocket.Accept();

            this.training = MyTraining1Factory.create1();

            training.next();
            if (!training.isFinish())
            {
                targetImageElement.Source = training.getPosture().getPic();
            }
            consumer.start();
        }