首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Silverlight (C#)中向自动生成的XML添加超链接

在Silverlight (C#)中向自动生成的XML添加超链接
EN

Stack Overflow用户
提问于 2009-06-21 23:25:35
回答 1查看 889关注 0票数 0

最近,我的问题here被回答了。现在我已经对XML进行了分析,并且看起来很漂亮,我还有一个关于我的应用程序的问题,在过去的几天里,我一直把头撞在墙上。

XML用于自动将艺术家名称添加到列表框中。我想做的是提供从这些艺术家到亚马逊搜索的链接。在下面的函数中,将解析XML,然后将艺术家名称添加到列表中。我需要在这个艺术家的名字上加一个超链接。有人知道这怎么可能吗?

编辑:,我缺少了所提供的答案中步骤2和步骤3之间的连接。另外,我完全不明白数字3是如何工作的。我必须承认我是Silverlight编程的新手。根据我的理解,您可以在XAML页面中进行绑定。对于尚未创建的列表框项,如何做到这一点?

此外,我还意识到Amazon使用+标志,空间在艺术家的名字中。我编辑了代码以反映这一点。请理解,在每个艺术家的名字下有超链接作为文本不是我要追求的。;)

代码语言:javascript
运行
复制
public void DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
    {
        if (e.Error == null || e.Error.Message.IndexOf("NotFound") == -1)
        {
            ArtistsList.Items.Clear();
            uname.Text = "Try Another One!";
            XDocument doc = XDocument.Parse(e.Result);
            var topArtists = from results in doc.Descendants("artist")
            select results.Element("name").Value.ToString();
            foreach (string artist in topArtists)
            {
                ArtistsList.Items.Add(artist);

                string amazonPlus = artist.Replace(" ", "+");

                string amazonURL = "http://www.amazon.ca/s/ref=nb_ss_gw?url=search-alias%3Daps&field-keywords=" + amazonPlus + "&x=0&y=0";
                ArtistsList.Items.Add(amazonURL);
            }
        }
    } 

编辑2有谁能澄清提供的答案吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-06-22 05:12:20

1)创建一个具有名称和Amazon属性的艺术家对象

2)解析XML时,使用LINQ创建一组项。

代码语言:javascript
运行
复制
 var topArtists = from result in doc.Descendants("artists")
                  select new Artist
                  {
                      Name = result.Element("name").Value,
                      Amazon = new Uri(string.format("http://amazon.com/artist={0}", result.Element("name").Value), UriKind.Absolute),
                  };

    ArtistList.ItemsSource = topArtists;

3)然后使用数据模板将名称绑定到TextBlock文本或HyperlinkButton内容,并将Amazon绑定到HyperlinkButton.NavigateUrl

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1025011

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档