diff --git a/Microsoft.Toolkit.Uwp.SampleApp/SamplePages/TokenizingTextBox/SampleEmailDataType.cs b/Microsoft.Toolkit.Uwp.SampleApp/SamplePages/TokenizingTextBox/SampleEmailDataType.cs index 0822836189d..3fc2a0eca62 100644 --- a/Microsoft.Toolkit.Uwp.SampleApp/SamplePages/TokenizingTextBox/SampleEmailDataType.cs +++ b/Microsoft.Toolkit.Uwp.SampleApp/SamplePages/TokenizingTextBox/SampleEmailDataType.cs @@ -8,7 +8,7 @@ namespace Microsoft.Toolkit.Uwp.SampleApp.SamplePages { /// - /// Sample of strongly-typed email address simulated data for . + /// Sample of strongly-typed email address simulated data for . /// public class SampleEmailDataType { diff --git a/Microsoft.Toolkit.Uwp.SampleApp/SamplePages/TokenizingTextBox/TokenizingTextBoxPage.xaml.cs b/Microsoft.Toolkit.Uwp.SampleApp/SamplePages/TokenizingTextBox/TokenizingTextBoxPage.xaml.cs index 110c6518894..86bbd2121c0 100644 --- a/Microsoft.Toolkit.Uwp.SampleApp/SamplePages/TokenizingTextBox/TokenizingTextBoxPage.xaml.cs +++ b/Microsoft.Toolkit.Uwp.SampleApp/SamplePages/TokenizingTextBox/TokenizingTextBoxPage.xaml.cs @@ -83,6 +83,7 @@ public sealed partial class TokenizingTextBoxPage : Page, IXamlRenderListener private TokenizingTextBox _ttbEmail; private ListView _ttbEmailSuggestions; private Button _ttbEmailClear; + private Button _ttbEmailShowItems; private AdvancedCollectionView _acv; private AdvancedCollectionView _acvEmail; @@ -117,9 +118,6 @@ public void OnXamlRendered(FrameworkElement control) if (control.FindChildByName("TokenBox") is TokenizingTextBox ttb) { _ttb = ttb; - - ////_ttb.ItemsSource = new ObservableCollection(); // TODO: This shouldn't be required, we should initialize in control constructor??? - _ttb.TokenItemAdded += TokenItemAdded; _ttb.TokenItemRemoving += TokenItemRemoved; _ttb.TextChanged += TextChanged; @@ -146,8 +144,7 @@ public void OnXamlRendered(FrameworkElement control) _ttbEmail = ttbEmail; _ttbEmail.ItemsSource = _selectedEmails; - - // _ttbEmail.ItemClick += EmailTokenItemClick; + _ttbEmail.ItemClick += EmailTokenItemClick; _ttbEmail.TokenItemAdding += EmailTokenItemAdding; _ttbEmail.TokenItemAdded += EmailTokenItemAdded; _ttbEmail.TokenItemRemoved += EmailTokenItemRemoved; @@ -181,9 +178,19 @@ public void OnXamlRendered(FrameworkElement control) if (control.FindChildByName("ClearButton") is Button btn) { _ttbEmailClear = btn; - _ttbEmailClear.Click += ClearButtonClick; } + + if (_ttbEmailShowItems != null) + { + _ttbEmailShowItems.Click -= ShowButtonClick; + } + + if (control.FindChildByName("ShowSelectedEmails") is Button showBtn) + { + _ttbEmailShowItems = showBtn; + _ttbEmailShowItems.Click += ShowButtonClick; + } } private async void EmailTokenItemClick(object sender, ItemClickEventArgs e) @@ -316,6 +323,28 @@ private void ClearButtonClick(object sender, RoutedEventArgs e) _acvEmail.RefreshFilter(); } + private async void ShowButtonClick(object sender, RoutedEventArgs e) + { + // Grab the list of items and identify which ones are free text, which ones are tokens + string message = string.Empty; + + foreach (var item in _ttbEmail.Items) + { + if (!string.IsNullOrEmpty(message)) + { + message += "\r\n"; + } + + message += item is ITokenStringContainer ? "Unrslvd: " : "Token : "; + var textVal = item.ToString(); + + message += string.IsNullOrEmpty(textVal) ? "" : textVal; + } + + MessageDialog md = new MessageDialog(message, "Item List with type"); + await md.ShowAsync(); + } + // Move to Email Suggest ListView list when we keydown from the TTB private void EmailPreviewKeyDown(object sender, KeyRoutedEventArgs e) { diff --git a/Microsoft.Toolkit.Uwp.SampleApp/SamplePages/TokenizingTextBox/TokenizingTextBoxXaml.bind b/Microsoft.Toolkit.Uwp.SampleApp/SamplePages/TokenizingTextBox/TokenizingTextBoxXaml.bind index fd6626519d3..54ccba3b621 100644 --- a/Microsoft.Toolkit.Uwp.SampleApp/SamplePages/TokenizingTextBox/TokenizingTextBoxXaml.bind +++ b/Microsoft.Toolkit.Uwp.SampleApp/SamplePages/TokenizingTextBox/TokenizingTextBoxXaml.bind @@ -1,8 +1,9 @@  @@ -15,7 +16,7 @@ @@ -78,7 +79,10 @@ -