public void LoadRecents() { CurrentCategory = RecentsCategoryIndex; if (EmojiData.Recents == null) { EmojiData.LoadRecents(); } RecentItems = new ObservableCollection <EmojiDataItem>(EmojiData.Recents ?? new List <EmojiDataItem>()); CSV.IsHitTestVisible = false; Recents.Visibility = Visibility.Visible; }
private void OnEmojiSelected(object sender, EmojiSelectedEventArgs args) { TextBoxTarget.Dispatcher.BeginInvoke(() => { var selectionStart = TextBoxTarget.SelectionStart; TextBoxTarget.Text = TextBoxTarget.Text.Insert(selectionStart, args.DataItem.String); TextBoxTarget.Select(selectionStart + args.DataItem.String.Length, 0); }); if (_currentCategory == RecentsCategoryIndex) { return; } var that = args.DataItem; ThreadPool.QueueUserWorkItem(state => EmojiData.AddToRecents(that)); }