0

我有以下代码使用 Flickr 中的照片填充 ListView

 private async void ParseFlickrResponse(HttpResponseMessage response)
    {
        XDocument xml = XDocument.Parse(await response.Content.ReadAsStringAsync());          
        var photos = from results in xml.Descendants("photo")
                     select new FlickrImage
                     {
                         ImageId = results.Attribute("id").Value.ToString(),
                         FarmId = results.Attribute("farm").Value.ToString(),
                         ServerId = results.Attribute("server").Value.ToString(),
                         Secret = results.Attribute("secret").Value.ToString(),
                         Title = results.Attribute("title").Value.ToString()
                     };

        FlickrListView.ItemsSource = photos;
    }

然后,我希望能够从此 ListView 中获取单个项目的源数据以在其他地方使用。但是,我似乎无法使用某些命令到达任何地方。我对 C# 很陌生,我不知道是否应该使用 SelectedItems、Items 或 SelectedIndex 方法来查找我的照片存储在哪个节点中。

任何帮助都会很棒。

4

1 回答 1

0

您可以使用这段代码:

编辑:SelectedItems

Dictionary<string, List<string>> dict =
    FlickrListView.SelectedItems
            .Cast<ListViewItem>()
            .ToDictionary(
                item => item.Text,
                item => item.SubItems
                            .Cast<ListViewItem.ListViewSubItem>()
                            .Select(subItem => subItem.Text)
                            .ToList());

或者

foreach (var item in FlickrListView.SelectedItems)
{
    FlickrImage obj = (FlickrImage) item;
    // ... do something ...
}
于 2012-10-23T13:31:04.927 回答