/// <summary> /// toReplyでReply先の設定 /// toReplyを指定したときはparentも必要 /// </summary> /// <param name="tokens"></param> /// <param name="users"></param> /// <param name="toReply"></param> public CreateTweetWindow(List <Tokens> tokens, List <User> users, MainWindow parent = null, TweetPanel toReply = null) { this.toReply = toReply; this.tokens = tokens; this.users = users; InitializeComponent(); comboBox.ItemsSource = users.Select(u => $"{u.Name}(@{u.ScreenName})"); comboBox.SelectedIndex = 0; if (toReply != null) { reply.Children.Add(new TweetPanel(toReply.Tweet, parent)); textBox.Text = $"@{toReply.Tweet.UserScreenName} "; } }
private void TweetButton_Click(object sender, RoutedEventArgs e) { Tokens token = null; try { token = tokens[comboBox.SelectedIndex]; } catch { MessageBox.Show("つぶやくアカウントを選択してください"); return; } var text = textBox.Text.Trim(); if (text.Length == 0) { MessageBox.Show("ツイートが空です"); return; } else if (text.Length > 140) { MessageBox.Show("ツイートが140字を超えています"); return; } try { if (toReply != null) { token.Statuses.Update(status: text, in_reply_to_status_id: toReply.Tweet.Id); toReply = null; } else { token.Statuses.Update(status: text); } MessageBox.Show("つぶやきました"); textBox.Clear(); } catch (Exception ex) { MessageBox.Show(ex.Message); return; } }
public void ShowReplyWindow(TweetPanel toReply) { var window = new CreateTweetWindow(Tokens, UserAccounts, this, toReply); window.ShowDialog(); }