将 JSON 数组映射到图像的 LongListSelector

Map a JSON array to a LongListSelector of Images

我最近开始在 C#/XAML 中为 Windows Phone 8 应用程序处理 JSON 数据。 到目前为止,我已经成功地将简单的 JSON 数据类型解析并映射到 LongListSelector。即使在阅读了许多小时的许多答案和帖子之后,我还没有解决这个特殊问题。

现在我遇到了一个 JSON 类型的:

{
    "images":
    [
        "http://motoroids.com/Honda-Logo.png",
        "htt//somelink0/1.png",
        "htt//somelink1/2.png",
        "htt//somelink2/3.png"
    ]
}

我想在如下定义的 LongListSelector 中显示这些图像:

<phone:LongListSelector Name="sponsorlist" ItemsSource="{Binding images}" HorizontalAlignment="Left" Height="504" Margin="10,10,0,0" VerticalAlignment="Top" Width="436">
                <phone:LongListSelector.ItemTemplate>
                    <DataTemplate>
                        <StackPanel Margin="10 10 10 10">
                            <Image Source="{Binding ????}" Height="219" Width="153" />
                        </StackPanel>
                    </DataTemplate>
                </phone:LongListSelector.ItemTemplate>
            </phone:LongListSelector>

这是 JSON 数据的 class:

public class RootObject
        {
            public List<string> images { get; set; }
        }

为了解析它,我使用 Json.Net nuget 包,如下所示:

var sponsfile = ReadFile(@"Assets/sponsors.txt");
RootObject obj = JsonConvert.DeserializeObject<RootObject>(sponsfile);
sponsorlist.DataContext = obj;

我不明白我应该在 ???? 的地方写什么?显示图像。 这是我的第一个问题,如有不足请指出,如果需要我会尽量提供更多信息。

您只需要绑定当前元素即可。 所以只需编辑图像绑定如下:

<Image Source="{Binding}" Height="219" Width="153" />