Exemplo n.º 1
0
        /// <summary>
        /// 新增至投票者滑動動畫佇列中等待開始滑動動畫
        /// </summary>
        /// <param name="vote">要顯示滑動動畫的投票</param>
        private void AddShowVoterColle(CommentVM vote)
        {
            SlideTextItemVM showVoter = new SlideTextItemVM();

            showVoter.Text           = vote.AuthorName;
            showVoter.SlideFinished += On_ShowVoter_SlideFinished;
            _showVoterQueue.Enqueue(showVoter);
            _showVoterQueueTimer.Start();
        }
Exemplo n.º 2
0
        /// <summary>
        /// 新增至評分者滑動動畫佇列中等待開始滑動動畫
        /// </summary>
        /// <param name="rater">要顯示滑動動畫的評分</param>
        /// <param name="score">分數</param>
        private void AddShowRaterColle(CommentVM rater, int score)
        {
            SlideTextItemVM showRater = new SlideTextItemVM();

            showRater.Text           = rater.AuthorName + ": " + score.ToString();
            showRater.SlideFinished += On_ShowRater_SlideFinished;
            showRater.ShowTime       = 3 * 1000;
            _showRaterQueue.Enqueue(showRater);
            _showRaterQueueTimer.Start();
        }
Exemplo n.º 3
0
        /// <summary>
        /// 處理評分者名稱滑動動畫佇列
        /// </summary>
        private void On_ShowRaterQueueTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            SlideTextItemVM showRater;

            if (_showRaterQueue.TryDequeue(out showRater))
            {
                //插入列表最上層於UI上顯示
                _showRaterColle.Insert(0, showRater);
                if (_showRaterColle.Count > this.ShowRaterRowCount)
                {
                    SlideTextItemVM t = _showRaterColle.ElementAtOrDefault(this.ShowRaterRowCount);
                    if (t != null)
                    {
                        t.IsClose = true;
                    }
                }
            }
            else
            {
                //佇列清空,關閉計時器
                _showRaterQueueTimer.Stop();
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// 處理投票者名稱滑動動畫佇列
        /// </summary>
        private void On_ShowVoterQueue_Elapsed(object sender, ElapsedEventArgs e)
        {
            SlideTextItemVM showVoter;

            if (_showVoterQueue.TryDequeue(out showVoter))
            {
                //插入列表最上層於UI上顯示
                _showVoterColle.Insert(0, showVoter);
                if (_showVoterColle.Count > 2)
                {
                    //UI上顯示超過兩列,令第三列提早觸發滑動動畫
                    SlideTextItemVM t = _showVoterColle.ElementAtOrDefault(2);
                    if (t != null)
                    {
                        t.IsClose = true;
                    }
                }
            }
            else
            {
                //佇列清空,關閉計時器
                _showVoterQueueTimer.Stop();
            }
        }
Exemplo n.º 5
0
 private void On_ShowRater_SlideFinished(SlideTextItemVM sender)
 {
     RemoveShowRater(sender);
 }
Exemplo n.º 6
0
 private void RemoveShowRater(SlideTextItemVM vm)
 {
     _showRaterColle.Remove(vm);
 }
Exemplo n.º 7
0
 /// <summary>
 /// 當滑動動畫項目完成滑動後
 /// </summary>
 /// <param name="sender">完成滑動動畫的項目</param>
 private void On_ShowVoter_SlideFinished(SlideTextItemVM sender)
 {
     //從滑動列表中移除
     RemoveShowVoter(sender);
 }
Exemplo n.º 8
0
 /// <summary>
 /// 從投票者滑動動畫列表中移除
 /// </summary>
 /// <param name="vm">要移除的滑動項目</param>
 public void RemoveShowVoter(SlideTextItemVM vm)
 {
     _showVoterColle.Remove(vm);
 }