【问题标题】:Get Image URL to Listbox Binding from JSON从 JSON 获取到列表框绑定的图像 URL
【发布时间】:2012-05-26 02:56:32
【问题描述】:

我的 JSON 请求可以获取 URI,甚至可以将项目绑定但不能绑定图像。

XAML:

 <Image delay:LowProfileImageLoader.UriSource="{Binding ImageUrl}" Width="120" Height="120" />
 <TextBlock Text="{Binding DisplayName}" FontSize="30" TextWrapping="Wrap" TextTrimming="WordEllipsis" />

现在,一旦我获得了 Feed,我就会这样运行它:

    using (var stream = new MemoryStream(Encoding.Unicode.GetBytes(e.Result)))
        {
            DataContractJsonSerializer dataContractJsonSerializer = new DataContractJsonSerializer(typeof(ProviderChannels.RootObject));
            var providerResult = (ProviderChannels.RootObject)dataContractJsonSerializer.ReadObject(stream);


            if (providerResult.ServiceDetailsResult != null)
            {

                ProviderChannels.ItemsSource = providerResult.ServiceResult.Lineup.Channels;

            }

问题是,我无法从以下来源的 ImageUrl 中获取图像:

    public class Channeli
    {
        public string DisplayName { get; set; }
        public List<object> ChannelImages { get; set; }

    }

Feed/ChannelImages 这样做:

    "ChannelImages": [
                    {
                        "ImageUrl": "http://the-url-generated.com/file.png",
                        "ImageUseType": null,
                    }

ChannelImages 报告了一个 ImageUrl 和一堆其他数据,但我严格需要 ImageUrl,但如果我把 ImageUrl 放在 XAML 中,它似乎也不起作用,但是我如何使用 ChannelImages 来获取 ImageUrl?

感谢您的帮助!

【问题讨论】:

  • 图像存储在 JSON 提要链接它们的任何位置(例如,ImageUri 可以有一个指向 Google 图片的图像 URL)。

标签: c# json windows-phone-7 data-binding


【解决方案1】:

您应该将字符串作为 ImageURL 转发,而不是像现在这样的对象列表。

为了让您现在拥有的这段代码能够正常工作,您的 Channels 类应该如下所示:

 public class Channels
 {
     public string DisplayName { get; set; }
     public string ImageUrl { get; set; } 
 }

【讨论】:

  • 唯一的问题是提要看起来像这样(或看上面,我将其格式化以便于阅读):“ChannelImages”:[{“ImageUrl”:“image-url-generated.com/imagename.png”,“ImageUseType”:空,
  • 我实际上确实从该站点生成了类(就像我对所有 JSON 提要所做的那样)。不幸的是仍然没有捕获 ImageUrl。
猜你喜欢
  • 2010-10-23
  • 1970-01-01
  • 1970-01-01
  • 2014-10-27
  • 2018-10-21
  • 2013-12-03
  • 2019-03-24
  • 2021-04-12
  • 1970-01-01
相关资源
最近更新 更多