Skip to content

Commit f992af4

Browse files
Apply fix to sample to show proper way to use TokenizingTextBox Binding to ItemsSource
Avoids bug #4248
1 parent 6fd3327 commit f992af4

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

Microsoft.Toolkit.Uwp.SampleApp/SamplePages/TokenizingTextBox/TokenizingTextBoxPage.xaml.cs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,9 @@ public sealed partial class TokenizingTextBoxPage : Page, IXamlRenderListener
9090
private AdvancedCollectionView _acv;
9191
private AdvancedCollectionView _acvEmail;
9292

93-
private ObservableCollection<SampleEmailDataType> _selectedEmails;
93+
public ObservableCollection<SampleDataType> SelectedTokens { get; set; }
94+
95+
public ObservableCollection<SampleEmailDataType> SelectedEmails { get; set; }
9496

9597
public TokenizingTextBoxPage()
9698
{
@@ -112,7 +114,10 @@ public TokenizingTextBoxPage()
112114

113115
public void OnXamlRendered(FrameworkElement control)
114116
{
115-
_selectedEmails = new ObservableCollection<SampleEmailDataType>();
117+
SelectedTokens = new();
118+
SelectedEmails = new();
119+
120+
control.DataContext = this;
116121

117122
if (_ttb != null)
118123
{
@@ -150,7 +155,6 @@ public void OnXamlRendered(FrameworkElement control)
150155
{
151156
_ttbEmail = ttbEmail;
152157

153-
_ttbEmail.ItemsSource = _selectedEmails;
154158
_ttbEmail.ItemClick += EmailTokenItemClick;
155159
_ttbEmail.TokenItemAdding += EmailTokenItemAdding;
156160
_ttbEmail.TokenItemAdded += EmailTokenItemAdded;

Microsoft.Toolkit.Uwp.SampleApp/SamplePages/TokenizingTextBox/TokenizingTextBoxXaml.bind

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
</TextBlock>
3838
<controls:TokenizingTextBox
3939
x:Name="TokenBox"
40+
ItemsSource="{Binding SelectedTokens}"
4041
PlaceholderText="Add Actions"
4142
QueryIcon="{ui:SymbolIconSource Symbol=Setting}"
4243
MaxHeight="104"
@@ -65,14 +66,15 @@
6566
<Run>Current Edit: </Run>
6667
<Run Text="{Binding Text, ElementName=TokenBox}"/>
6768
</TextBlock>
68-
<ItemsControl ItemsSource="{Binding ItemsSource, ElementName=TokenBox}"/>
69+
<ItemsControl ItemsSource="{Binding SelectedTokens}"/>
6970
</StackPanel>
7071

7172
<StackPanel Grid.Row="1">
7273
<TextBlock FontSize="32" Text="Select Email Addresses"
7374
Margin="0,0,0,4"/>
7475
<controls:TokenizingTextBox
7576
x:Name="TokenBoxEmail"
77+
ItemsSource="{Binding SelectedEmails}"
7678
PlaceholderText="Select Names"
7779
MaxHeight="104"
7880
HorizontalAlignment="Stretch"

0 commit comments

Comments
 (0)