示例#1
0
        private void ProgressBar_ValueChanged(object sender, RoutedPropertyChangedEventArgs <double> e)
        {
            var view      = new HistoryScoreItemView();
            var viewModel = new HistoryScoreItemViewModel("历史最高:", $"100 分", "");

            view.DataContext = viewModel;
            view.SetValue(Grid.ColumnProperty, 0); //设置按钮所在Grid控件的列
            view.SetValue(Grid.RowProperty, 0);
            //grid.Children.Add(view);
            SyncBox.Children.Add(view);

            var view1      = new HistoryScoreItemView();
            var viewModel1 = new HistoryScoreItemViewModel("上次得分:", $"88 分", "");

            view1.DataContext = viewModel1;
            view1.SetValue(Grid.ColumnProperty, 1); //设置按钮所在Grid控件的列
            view1.SetValue(Grid.RowProperty, 0);
            //grid.Children.Add(view);
            SyncBox.Children.Add(view1);
        }
示例#2
0
        private void BindUserScoreBox(SyncScoreCallbckMessage msg = null)
        {
            try
            {
                if (HistoryItem != null)
                {
                    if (HistoryItem.best != null || HistoryItem.last != null)
                    {
                        HistoryScoreItemView view0 = null;
                        if (WordView.ScoreBoxView.Children.Count == 2)
                        {
                            view0 = WordView.ScoreBoxView.Children[1] as HistoryScoreItemView;
                        }
                        if (WordView.ScoreBoxView.Children.Count == 3)
                        {
                            view0 = WordView.ScoreBoxView.Children[2] as HistoryScoreItemView;
                        }

                        WordView.ScoreBoxView.Children.Clear();
                        ScoreRoot score = JsonHelper.FromJson <ScoreRoot>(HistoryItem.best.score_result.Replace("\"params\"", "\"param\""));

                        var view = new HistoryScoreItemView();
                        //var viewModel = new HistoryScoreItemViewModel(this, "历史最高:",
                        //    $"{Convert.ToInt32(HistoryItem.best.exam_score)} 分", HistoryItem.best.user_answer, HistoryItem.best.score_result);
                        var viewModel = new HistoryScoreItemViewModel(this, "历史最高:", HistoryItem.best);
                        view.DataContext = viewModel;
                        view.SetValue(Grid.ColumnProperty, 0); //设置按钮所在Grid控件的列
                        view.SetValue(Grid.RowProperty, 0);
                        //grid.Children.Add(view);
                        WordView.ScoreBoxView.Children.Add(view);

                        if (view0 != null)
                        {
                            view0.TxtTitleName.Text = "上次得分";
                            view0.SetValue(Grid.ColumnProperty, 1); //设置按钮所在Grid控件的列
                            view0.SetValue(Grid.RowProperty, 0);
                            view0.Margin = new Thickness(0);
                            WordView.ScoreBoxView.Children.Add(view0);
                            WordView.ScoreBoxView.Visibility = Visibility.Visible;
                        }
                        else
                        {
                            score = JsonHelper.FromJson <ScoreRoot>(HistoryItem.last.score_result.Replace("\"params\"", "\"param\""));
                            var view1 = new HistoryScoreItemView();
                            //var viewModel1 = new HistoryScoreItemViewModel(this, "上次得分:",
                            //    $"{Convert.ToInt32(HistoryItem.last.exam_score)} 分", HistoryItem.last.user_answer, HistoryItem.last.score_result);
                            var viewModel1 = new HistoryScoreItemViewModel(this, "上次得分:", HistoryItem.last);
                            view1.DataContext = viewModel1;
                            view1.SetValue(Grid.ColumnProperty, 1); //设置按钮所在Grid控件的列
                            view1.SetValue(Grid.RowProperty, 0);
                            view1.Margin = new Thickness(0);
                            //grid.Children.Add(view1);
                            WordView.ScoreBoxView.Children.Add(view1);
                            WordView.ScoreBoxView.Visibility = Visibility.Visible;
                        }
                    }
                }

                //本次答题记录
                if (msg != null)
                {
                    if (msg.ModelTarget != tagUrl)
                    {
                        return;
                    }

                    if (msg.EType != EngineType.WORD)
                    {
                        return;
                    }

                    if (msg.ScoreResult?.result == null)
                    {
                        return;
                    }

                    var view2 = new HistoryScoreItemView();
                    //var viewModel2 = new HistoryScoreItemViewModel(this, "本次得分:",
                    //    $"{Convert.ToInt32(msg.ScoreResult.result.overall)} 分", msg.ScoreResult.audioUrl, msg.ScoreResult.result.words.ToString());
                    var viewModel2 = new HistoryScoreItemViewModel(this, "本次得分:", msg.ScoreResult);
                    view2.DataContext = viewModel2;
                    view2.SetValue(Grid.ColumnProperty, 2); //设置按钮所在Grid控件的列
                    view2.SetValue(Grid.RowProperty, 0);
                    view2.Margin = new Thickness(20, 0, 10, 0);
                    //grid.Children.Add(view1);
                    WordView.ScoreBoxView.Children.Add(view2);

                    BindUserScore(Convert.ToInt32(msg.ScoreResult.result.overall));

                    if (_IsSpell)
                    {
                        BindUserAnswerContent(msg.ScoreResult.result.words.ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                Log4NetHelper.Error("Word 绑定历史记录失败", ex);
            }
        }