/// <summary>
        /// 进入动弹详情页
        /// </summary>
        private void list_Tweets_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            TweetUnit t = this.list_Tweets.SelectedItem as TweetUnit;

            this.list_Tweets.SelectedItem = null;
            if (t != null)
            {
                Tool.ToDetailPage(t.id.ToString( ), DetailType.Tweet);
            }
        }
        /// <summary>
        /// 点击头像进入用户专页
        /// </summary>
        private void img_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            TweetUnit t = (sender as Image).DataContext as TweetUnit;

            if (t != null)
            {
                //进入用户专页
                Tool.ToUserPage(t.authorID);
                e.Handled = true;
            }
        }
Exemple #3
0
 /// <summary>
 /// 显示动弹对象
 /// </summary>
 /// <param name="t">动弹对象</param>
 private void DisplayTweet(TweetUnit t)
 {
     this.currentTweet = t;
     //开始关闭动画 (建议 Fade)
     this.fadeOut.Begin( );
     this.fadeOut.Completed += (s, e) =>
     {
         //然后控件转变
         this.lblName.Text       = string.Format("{0}:", t.author);
         this.lblContent.Text    = t.body;
         this.lblComment.Text    = string.Format("{0}  {1}评", t.pubDateFormat, t.commentCount);
         this.imgPortrait.Source = new BitmapImage(new Uri(t.portrait.IsNotNullOrWhitespace( ) ? t.portrait : "/Resource/avatar_noimg.jpg", UriKind.RelativeOrAbsolute));
         //最后执行上移动画
         this.fadeIn.Begin( );
     };
 }
        /// <summary>
        /// 删除动弹
        /// </summary>
        private void menu_Delete_Click(object sender, RoutedEventArgs e)
        {
            MenuItem  item = sender as MenuItem;
            TweetUnit t    = item.DataContext as TweetUnit;

            if (t != null)
            {
                if (t.authorID != Config.UID)
                {
                    MessageBox.Show("不能删除别人的动弹", "温馨提示", MessageBoxButton.OK);
                    return;
                }
                Dictionary <string, string> parameters = new Dictionary <string, string>
                {
                    { "uid", Config.UID.ToString() },
                    { "tweetid", t.id.ToString() },
                };
                WebClient client = Tool.SendWebClient(Config.api_tweet_delete, parameters);
                client.DownloadStringCompleted += (s, e1) =>
                {
                    if (e1.Error != null)
                    {
                        System.Diagnostics.Debug.WriteLine("删除动弹时网络错误: {0}", e1.Error.Message);
                        return;
                    }
                    else
                    {
                        ApiResult result = Tool.GetApiResult(e1.Result);
                        switch (result.errorCode)
                        {
                        case 1:
                            this.listBoxHelper.Refresh( );
                            break;

                        case 0:
                        case -1:
                        case -2:
                            MessageBox.Show(result.errorMessage, "温馨提示", MessageBoxButton.OK);
                            break;

                        default:
                            break;
                        }
                    }
                };
            }
        }
        /// <summary>
        /// 如果动弹不包含图片 则删除Image控件节约性能
        /// </summary>
        private void imgTweet_Loaded(object sender, RoutedEventArgs e)
        {
            Image     img = sender as Image;
            TweetUnit t   = img.DataContext as TweetUnit;

            if (t != null && t.imgSmall.IsNotNullOrWhitespace( ))
            {
            }
            else
            {
                Panel panel = img.Parent as Panel;
                if (panel != null)
                {
                    panel.Children.Remove(img);
                }
            }
        }
        /// <summary>
        /// 点击动弹图片  打开大图进行查看
        /// </summary>
        private void imgTweet_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            TweetUnit t = (sender as Image).DataContext as TweetUnit;

            if (t != null)
            {
                e.Handled = true;
                //查看大图
                this.pop = new PopUpImage( );
                this.pop.Create(t.imgBig);
                this.IsEnabled       = false;
                this.pop.pop.Closed += (s, e1) =>
                {
                    this.IsEnabled = true;
                };
            }
        }
Exemple #7
0
        /// <summary>
        /// 获取下一个动弹对象
        /// </summary>
        /// <param name="tweets">动弹集合</param>
        private void GetNextTweetUnit(TweetUnit[] tweets)
        {
            if (tweets != null && tweets.Length > 0)
            {
                TweetUnit t = tweets[0];
                for (int i = 0; i < tweets.Length; i++)
                {
                    if (tweets[i].id == tweetID)
                    {
                        //返回下一项
                        t = i < tweets.Length - 1 ? tweets[i + 1] : tweets[0];
                        break;
                    }
                }
                //获取下一项
                this.tweetID = t.id;

                this.DisplayTweet(t);
            }
        }