コード例 #1
0
        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);
            };
        }
コード例 #2
0
        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;
        }
コード例 #3
0
 public void FocusTextBox()
 {
     MessageEditor.Focus(FocusState.Keyboard);
 }