我最近开始在 Windows Phone 8 应用程序中使用 C#/XAML 中的 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 数据的类:
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" />