private void OnEmojiSelected(object sender, RoutedEventArgs e) { if (m_current_toggle != null) { m_current_toggle.IsChecked = false; m_current_toggle.Focusable = false; m_current_toggle = null; } var emoji = (sender as Control).DataContext as EmojiData.Emoji; if (emoji.VariationList.Count == 0 || sender is Button) { Selection = emoji.Text; Button.IsChecked = false; if (Selection.Length > 0) { AddRecentEmoji(Selection, emoji.Name); EmojiChosen?.Invoke(this, EventArgs.Empty); } e.Handled = true; } if (sender is ToggleButton && emoji.VariationList.Count > 0) { m_current_toggle = sender as ToggleButton; } }
private void Button_MouseRightButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e) { // we use left click on the popup button as shortcut to paste the last used emoji if (Selection.Length > 0) { EmojiChosen?.Invoke(this, EventArgs.Empty); } }