private void Button_Click(object sender, RoutedEventArgs e) { Flyout emojis = new Flyout(); emojis.FlyoutPresenterStyle = (Style)App.Current.Resources["FlyoutPresenterStyle1"]; var emojiPicker = new EmojiControl(); emojis.Content = emojiPicker; emojis.ShowAt(sender as Button); emojis.Closed += (o, o1) => { emojis = null; }; emojiPicker.PickedEmoji += (o, args) => { emojis.Hide(); //if (args.names.Count > 1) //{ // int newSelectionStart = MessageEditor.SelectionStart + args.names[0].Length + args.names[1].Length + 4; // MessageEditor.Text = MessageEditor.Text.Insert(MessageEditor.SelectionStart, ":" + args.names[0] + "::" + args.names[1] + ":"); // MessageEditor.SelectionStart = newSelectionStart; //} else //{ // int newSelectionStart = MessageEditor.SelectionStart + args.names[0].Length + 2; // MessageEditor.Text = MessageEditor.Text.Insert(MessageEditor.SelectionStart, ":" + args.names[0] + ":"); // MessageEditor.SelectionStart = newSelectionStart; //} string emojiText = ""; if (args.GetType() == typeof(EmojiControl.GuildSide)) { var emoji = (EmojiControl.GuildSide)args; if (emoji.surrogates.EndsWith(".gif")) { emojiText = "<a:" + emoji.names.First() + ":" + emoji.id + ">"; } else { emojiText = "<:" + emoji.names.First() + ":" + emoji.id + ">"; } } else { emojiText = args.surrogates; } int newSelectionStart = MessageEditor.SelectionStart + emojiText.Length; MessageEditor.Text = MessageEditor.Text.Insert(MessageEditor.SelectionStart, emojiText); MessageEditor.SelectionStart = newSelectionStart; MessageEditor.Focus(FocusState.Keyboard); }; }
private void SelectSuggestion(KeyValuePair <string, DawgSharp.DawgItem> item) { string suggestion; if (item.Value.InsertText == "") { suggestion = mentionPrefix + item.Key; } else { suggestion = mentionPrefix + item.Value.InsertText; } //EnableChanges = false; var str = MessageEditor.Text; MessageEditor.Text = PureText.Insert(selectionstart, suggestion); MessageEditor.Focus(FocusState.Pointer); MessageEditor.SelectionStart = selectionstart + suggestion.Length; SuggestionBlock.ItemsSource = null; SuggestionPopup.IsOpen = false; //EnableChanges = true; }
public void FocusTextBox() { MessageEditor.Focus(FocusState.Keyboard); }