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 @   ibillguo  阅读(2057)  评论(1编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示