Q: Listbox keeps repeating first items I have a simple listbox that loads items (in my test case 135). 
I logged all the ID's of the items that are loaded, and they all have a unique ID. The listbox datatemplate is a usercontrol, so in the usercontrol I also logged the ID's to see which ones are loaded.
Now is where it starts going wrong, it only loads about the first 10 items (I think whatever is initially visible), and then keeps repeating those first items over and over again. So instead of 135 unique objects, I have 135 objects that are one of the first 10 or so loaded.
You can see the logging here (there are a lot more ID's not visible):

After the User Control ID's line, that's the only ID's it loads and keeps looping those 10 ID's until there are 135 items in the listbox.
This is the full page code
    
        
    <Style x:Key="ListBoxItemStyle1" TargetType="ListBoxItem">
        <Setter Property="HorizontalContentAlignment" Value="Stretch"/>

        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="ListBoxItem">
                    <Border x:Name="LayoutRoot" BorderThickness="3">

                        <ContentControl x:Name="ContentContainer" 
                            VerticalContentAlignment="Top" 
                            HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"  
                            Margin="{TemplateBinding Padding}" 
                            Content="{TemplateBinding Content}" 
                            ContentTemplate="{TemplateBinding ContentTemplate}" 
                            Foreground="{TemplateBinding Foreground}" />
                    </Border>

                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</Page.Resources>

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"></RowDefinition>
            <RowDefinition></RowDefinition>
        </Grid.RowDefinitions>
        <SearchBox x:Name="sbSearch" QuerySubmitted="sbSearch_QuerySubmitted" Margin="12,12,12,0"></SearchBox>


        <ListBox x:Name="lbResults" Grid.Row="1" ItemContainerStyle="{StaticResource ListBoxItemStyle1}" Background="{x:Null}">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <userControls:WantlistItem Tag="{Binding}"></userControls:WantlistItem>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
    </Grid>
</Grid>

What am I doing wrong?
Edit1: Loading of listbox in main page
    private void Page_Loaded(object sender, RoutedEventArgs e)
    {
        if(Variables.WantsAll == null) Helpers.GetWantList();
        foreach (var v in Variables.WantsAll)
        {
            Debug.WriteLine(v.id);
        }
        Debug.WriteLine("--- USER CONTROL ID's ---");
        lbResults.ItemsSource = Variables.WantsAll;


    }

In the UserControl Page_Loaded I'm logging them as well.
In this screenshot you can see I scrolled down, and it starts repeating the same items again (sometimes it messes up, as you can see the first item is not correctly repeated, it's a different one).
Note that in front of the names I added the ID's it prints out, you can see it's repeating the same ID's (for example the green album: 1301162), even tho in the list I set as ItemsSource it only exists once (all items are unique).


A: The comment provided by Jay Zuo - MSFT provided the solution, the answer in this thread solved my problem exactly.
