private void TokenBox_TokenItemAdded(TokenizingTextBox sender, TokenizingTextBoxItem args) { if (args?.Content is Person person) { PickedPeople.Add(person); } }
private void TokenBox_TextChanged(AutoSuggestBox sender, AutoSuggestBoxTextChangedEventArgs args) { if (!args.CheckCurrent()) { return; } if (args.Reason == AutoSuggestionBoxTextChangeReason.UserInput) { var text = sender.Text; _typeTimer.Debounce( async() => { var graph = ProviderManager.Instance.GlobalProvider.Graph; if (graph != null) { // If empty, clear out if (string.IsNullOrWhiteSpace(text)) { SuggestedPeople.Clear(); } else { SuggestedPeople.Clear(); foreach (var contact in (await graph.FindPersonAsync(text)).CurrentPage) { if (!PickedPeople.Any(person => person.Id == contact.Id)) { SuggestedPeople.Add(contact); } } } } // TODO: If we don't have Graph connection and just list of Person should we auto-filter here? }, TimeSpan.FromSeconds(0.3)); } }
private void TokenBox_TokenItemRemoved(TokenizingTextBox sender, TokenItemRemovedEventArgs args) { PickedPeople.Remove(args.Item as Person); }