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 nextPosture(bool success)
        {
            training.next(success);

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

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