前言:
最近几天微软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资讯搜索也有参考价值
解决方案:
效果展示图如下:
UI层如下:
这里大家可能不理解的应该是25~29行
ListBox的ItemsPanel是用来定义ListBox的ListBoxItem应该如何放置的
p默认情况下,是以垂直的方式排列,大家如果看过前面两篇文件就应该有这种感觉
难道ListBoxItem只能垂直排列吗?
不能一行容纳几个Item吗?
而ItemsPanel这个属性就可以帮你的忙
这里我使用了Silverlight Toolkit中的WrapPanel
WrapPanel的特点是如果发现一行已经不能容纳所有Items的话
会自动换行,于是就可以在ListBox中实现一行有多个Items的功能了
底层代码如下:
大家请注意下底层代码的第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错误的地方并做了修正
此外利用数据绑定方便的展示获取得到结果