WP7 for loop to limit number of items added to listbox

I'm trying to use a for loop to limit the number of items added to my listbox. I'm pulling down the JSON data using a webclient. the data always has 24 items and I'd like to limit it to 4. Here is the loop:

    public void jsonHome_GetDataCompleted(object snder, DownloadStringCompletedEventArgs e)
    {
        NewReleasesCharts homeData = JsonConvert.DeserializeObject<NewReleasesCharts>(e.Result);

        int limit = 4;

        for (int i = 0; i <= limit; i++)
        {
            FeaturedReleases release = homeData.results.featuredReleases[i];

            int releaseID = release.id;
            string releaseName = release.name;
            string releaseImg = release.images.large.url;

            new ReleaseLarge()
            {
                url = releaseImg
            };
            new FeaturedReleases()
            {
                id = releaseID,
                name = releaseName
            };

        }

        this.listRelease.ItemsSource = homeData.results.featuredReleases;        
    }

this works but still displays all 24 items. Thanks for the help.

UPDATE

Here are my classes

    public class NewReleasesCharts 
{
    //public Metadata metadata { get; set; }
    public ResultHome results = new ResultHome();
    public IEnumerator<ResultHome> GetEnumerator()
    {
        return this.results.GetEnumerator();
    }
}

public class ResultHome
{
    public List<FeaturedReleases> featuredReleases { get; set; }

    //public List<FeaturedCharts> featuredCharts { get; set; }
    //public List<TopDownloads> topdownloads { get; set; }
    //public List<MostPopularReleases> mostPopularReleases { get; set; }
    //public List<Components> components { get; set; }

    internal IEnumerator<ResultHome> GetEnumerator()
    {
        throw new NotImplementedException();
    }
}

public class FeaturedReleases
{
    public int id { get; set; }
    public string type { get; set; }
    public string name { get; set; }
    public string slug { get; set; }
    public ReleaseImage images { get; set; }
    public List<Artists> artists { get; set; }
}

public class Artists
{
    public int artistid { get; set; }
    public string artistName { get; set; }
}

public class ReleaseImage
{
    //public ReleaseSmall small { get; set; }
    public ReleaseMedium medium { get; set; }
    public ReleaseLarge large { get; set; }
}

public class ReleaseMedium
{
    public int width { get; set; }
    public int height { get; set; }
    public string url { get; set; }
    public string secureUrl { get; set; }
}

public class ReleaseLarge
{
    public int width { get; set; }
    public int height { get; set; }
    public string url { get; set; }
    public string secureUrl { get; set; }
}

and xaml

                <ListBox Grid.Row="0" x:Name="listRelease">

                    <ListBox.ItemsPanel>
                        <ItemsPanelTemplate>
                            <toolkit:WrapPanel Orientation="Horizontal" />
                        </ItemsPanelTemplate>
                    </ListBox.ItemsPanel>
                    <ListBox.ItemTemplate>
                        <DataTemplate>
                            <StackPanel Orientation="Vertical" >
                                <toolkit:HubTile Source="{Binding images.large.url}" Margin="10" />
                                <TextBlock Text="{Binding name}" Width="173" />
                                <TextBlock Text="{Binding artists.artistName}" Width="173" />
                            </StackPanel>
                        </DataTemplate>
                    </ListBox.ItemTemplate>

                </ListBox>

Answers


That code is creating new objects, but not adding them to the list. I'm not sure which object (ReleaseLarge or FeaturedRelease) you want to use. Try using linq on the deserialized JSON result stored in homeData.

public void jsonHome_GetDataCompleted(object snder, DownloadStringCompletedEventArgs e)
{
    NewReleasesCharts homeData = JsonConvert.DeserializeObject<NewReleasesCharts>(e.Result);

    const int limit = 4;

    this.listRelease.ItemsSource = homeData.results.featuredReleases.Take(limit);
}

Need Your Help

Why does mxmlc Incremental Compile cause a fault relating to particular embedded asset?

flash flex actionscript mxmlc

I have a swf which embeds around 40 various png and fxg objects using the embed metatag... eg.:

Flex: MX + Sparks vs. MX-only components

flex flash components flex4

I'm playing with the video components of Flex. When starting a new project, I was able to choose between (MX only) and (MX + Sparks). When I set the project to (MX + Sparks), the only video compone...