0

正如您在屏幕打印中看到的那样,我有这段代码正确地加载了您想要的数据并存储了对象列表 PopularVideos:

item    { Title = Hey Porsche, Url = http://www.unnu.com/wp-content/plugins/wordpress-popular-posts/timthumb.php?src=http://www.unnu.com/wp-content/uploads/2013/03/019.jpg&amp;h=65&amp;w=275 }    <>f__AnonymousType0<string,string>

item.Title  "Hey Porsche"   string

item.Url    "http://www.unnu.com/wp-content/plugins/wordpress-popular-posts/timthumb.php?src=http://www.unnu.com/wp-content/uploads/2013/03/019.jpg&amp;h=65&amp;w=275" string

需要将这些对象加载到我的列表框中用绑定或者有,否则也可以。但是windows phone 不支持DataSource 和DisplayMember。

我的 XAML:

<ListBox Name="listBoxPopular">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <StackPanel>
                            <Image Name="imagem" Source="{Binding Path=Url}"/>
                            <TextBlock  Text="{Binding Titulo}" Tap="HyperlinkButton_Tap"  FontSize="30" Foreground="#FF159DDE" />
                        </StackPanel>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>
        </controls:PanoramaItem>

我的班级是:

class PopularVideos
    {
        public PopularVideos() { }
        public PopularVideos(string titulo, string url)
        {
            Titulo = titulo;            
            BitmapImage Img = new BitmapImage(new Uri(url));
        }

        public string Titulo { get; set; }

        public Uri Url { get; set; }
    }

我的代码隐藏是:

_popVideos = new List<PopularVideos>();
            var data = e.Document.DocumentNode.SelectSingleNode("//div[@class='content']")
               .Descendants("img")
               .Select(img => new
               {
                   Title = img.Attributes["alt"].Value,
                   Url = img.Attributes["src"].Value,
               }).ToList();

            foreach (var item in data)
            {
                PopularVideos pop = new PopularVideos(item.Title, item.Url);
                _popVideos.Add(new PopularVideos(item.Title, item.Url));
            }
            listBoxPopular.ItemsSource = _popVideos;

此代码有效,因为它们携带对象中的图像和链接,只是无法在我的列表框中显示。

4

2 回答 2

0
  1. 有一个可绑定的ObservableCollection<Item>(最好在 ViewModel 中)。
  2. 使用ListBox.ItemsSource属性绑定到所述ObservableCollection<Item>. 适用标准绑定规则。
  3. 中的每个项目ListBox都将代表绑定到控件的核心集合中的项目,因此绑定到其属性的方式与绑定到其他任何内容的方式相同。
于 2013-07-05T00:27:07.377 回答
0

这是对评论的回复:

好的,请再次阅读@Den 发送给您的文章。并且请从代码隐藏中删除DataContext Property,添加到和中:ListBoxx:Name="myList"不是最好的解决方案,但它很容易理解,首先你需要理解它:) 最好的问候。ListBoxmyList.DataContext = this;

于 2013-07-10T21:50:04.483 回答