Silverlight专题(14) - 基于Silverlight的Live Search图片搜索

前言:

最近几天微软Live Search公布了重新架构了的Live Search API(版本为2.0 Beta)

该API律属于微软的最新Live Search Service项目 – Silk Road(丝绸之路)

那么如何在Silverlight中调用Live Search Service呢来进行网页,图片,资讯等的搜索呢?

本篇将带大家走进Silverlight+Live Image Search的美妙世界

再阅读本篇文章之前请先阅读上篇文章:Silverlight专题(12) - 基于Silverlight的Live Search网页搜索

另外Silverlight专题(13) - 基于Silverlight的Live Search资讯搜索也有参考价值

解决方案:

效果展示图如下:

liveimagesearch02 liveimagesearch03

UI层如下:

UI XAML

这里大家可能不理解的应该是25~29行

ListBox的ItemsPanel是用来定义ListBox的ListBoxItem应该如何放置的

p默认情况下,是以垂直的方式排列,大家如果看过前面两篇文件就应该有这种感觉

难道ListBoxItem只能垂直排列吗?

不能一行容纳几个Item吗?

而ItemsPanel这个属性就可以帮你的忙

这里我使用了Silverlight Toolkit中的WrapPanel

WrapPanel的特点是如果发现一行已经不能容纳所有Items的话

会自动换行,于是就可以在ListBox中实现一行有多个Items的功能了

底层代码如下:

Code C#

大家请注意下底层代码的第26行

Live Image Search一次性最多只能取50张图片(这是考虑了服务器负担作出的限定)

77行的HtmlPage.Window.Navigate(new Uri(currImageInfo.PageUrl, UriKind.Absolute),"_blank");

用来打开一个新的网页窗口并跳转到图片所在的网页

结果展示:

展示程序如下:

代码下载:

总结:

Silverlight专题(12) - 基于Silverlight的Live Search网页搜索

Silverlight专题(13) - 基于Silverlight的Live Search资讯搜索

Silverlight专题(14) - 基于Silverlight的Live Search图片搜索

三篇文章抛砖引玉,粗略的介绍了下如果利用Silverlight的网络通信来利用Live Search的资源

其中简单的介绍了Live Search的最新的2.0 Beta版的API

指出了当前API错误的地方并做了修正

此外利用数据绑定方便的展示获取得到结果

posted @ 2008-11-19 15:21  ibillguo  阅读(2054)  评论(1编辑  收藏  举报