开心就好的代码人生

用伪代码书写我的人生

   博客堂 :: 首页 :: 联系 :: RSS 2.0 ::
随笔 - 386, 评论 - 10744, 引用 - 242

导航

关于

贴子以"现状"提供且没有任何担保也没有授予任何权利。
在TechED 2006上的演讲




开心就好

请见谅,我无法公布我的Windows Live ID,而且工作很忙,没有多余时间进行闲聊。

标签

每月存档

最新留言

广告

 

话说从前,书接上回。开心已经向大家提出了一个需求,并且给出解决技术难题的思路,不知道有多少位朋友已经开始尝试编写自己的第一个非“Hello World”的Sidebar Gadget了。那么今天开始,我们就开始逐步介绍开发Sidebar Gadget的具体方式。

使用Gadget.xml来定义Sidebar Gadget

就像计算机语言都会有一个入口函数一样,Sidebar Gadget在启动时也会有一个主入口,而这个主入口文件呢就是Gadget.xml。但该文件你可以存放在多个区域,即Gadget的根目录,或者Gadget的地区语言(如zh-cn, en-us等)目录。按照我的理解,Gadget应该先会找最适合地区语言目录下的Gadget.xml,其次再找根目录中gadget.xml,而一个典型的Gadget.xml文件结构如下所示(Vista自带的时钟Gadget的描述文件,文档中红色文字为开心的注释文字,而注释中的数字标识与附图中的数字标识一一对应):

<?xml version="1.0" encoding="utf-8"?>
<gadget>
<name>时钟</name> 定义Gadget名称(1)            
<namespace>microsoft.windows</namespace> 定义Gadget的命名空间,与JS交互
<version>1.0.0.0</version> 版本信息(2)
<author name="Microsoft Corporation"> 作者信息(3)
<info url="http://go.microsoft.com/fwlink/?LinkId=55696" text="www.gallery.microsoft.com"/> 作者网站的链接地址(4)
<logo src="logo.png"/>作者的Logo信息(5)
</author>
<copyright>? 2006</copyright> 版权信息(6)
<description>查看您所在时区或全球任何城市的时钟。</description> 功能描述信息(7)
<icons>
<icon height="48" width="48" src="icon.png"/> 显示在小工具待选箱时的图标(8)
</icons>
<hosts>
<host name="sidebar">仅支持Sidebar,未来如果大一统了,可能Live.com或者Slideshow都会使用统一的方式
<base type="html" apiVersion="1.0.0" src="clock.html"/>type仅支持html,未来有可能会支持WPF,WPF/E或者AJAX;src用以指明主界面的HTML源文件
<permissions>full</permissions>目前仅可以设置Full,请参阅此文
<platform minPlatformVersion="1.0"/>
<defaultImage src="drag.png"/>在从小工具备选箱用鼠标拖到Sidebar时所显示的Logo
</host>
</hosts>
</gadget>

 通过上面的信息,Sidebar可以得到Gadget中的相关信息,但一个Gadget还不止如此,比如上面的这个时钟显示在Sidebar当中时,应该如 左图所示。在这个截图中,我们注意到有一个小扳手式的图标,使用它可以选择自己心爱的钟表外型或者进行其它的自定义设置,那么此部分是如何反应在源代码中的?

还有,有一些Gadget,比如自带的RSS Reader,当单击某文章标题时,会自动在左侧弹出来一个Flyout窗口,这个窗口的设置如何在源代码中反应呢?

还有,系统自带的那个CPU以及内存使用量的Gadget,类似于汽车的转速表,它又是如何得到这种实时的系统信息的呢?

还有,当把一个Gadget从Sidebar拖到桌面时,其页面大小会发生改变,这又是为什么呢?

还有,Gadget中有很多透明效果,比如那个表的周围就是透明的,呈一个圆形,或者其它类型,而不是我们常见网页的矩形,这又是为什么呢?

还有,Gadget中的服务器端与客户端交互实现局部刷新却又没有使用ASP.NET AJAX框架,这又是为什么呢?

呵呵,如果你感兴趣,欢迎继续阅读本教程,今天就先到这儿吧。

打印 | 张贴于 2006-11-04 10:02:00 | Tag:业界评论  C#编程

留言反馈

#yhyjihfg - Google Search 编辑
yhyjihfg - Google Search
2008-09-22 15:57:35 | [匿名:]
#回复: Sidebar Gadget开发教程(3) 编辑
iros a la mierda
2008-01-02 23:08:00 | [匿名:jeje]
#回复: Sidebar Gadget开发教程(3) 编辑
谢谢楼主分享....
2007-12-13 22:15:00 | [匿名:雅猫]
#回复: Sidebar Gadget开发教程(3) 编辑
学习了,谢谢楼主分亨!!
2007-11-12 18:04:00 | [匿名:虚拟主机]
#回复: Sidebar Gadget开发教程(3) 编辑
真的不错,谢谢版主分享!
2007-11-12 17:48:00 | [匿名:ASP源码]
#回复: Sidebar Gadget开发教程(3) 编辑
谢谢版主分享!
2007-11-12 17:45:00 | [匿名:ASP源码]
#回复: Sidebar Gadget开发教程(3) 编辑
谢谢版主分享,我会介绍给其他朋友的!
2007-09-25 13:06:00 | [匿名:虚拟主机]
#回复: Sidebar Gadget开发教程(3) 编辑
这个有点儿意思啊~ 挺不错,收藏一下
2007-06-22 01:55:00 | [匿名:虚拟主机]
#回复: Sidebar Gadget开发教程(3) 编辑
这个有点儿意思啊
2007-06-22 01:54:00 | [匿名:虚拟主机]
#Silverlight开发基础答疑(6) 编辑
没有想到开心将这个系列竟然写了六个部分。有时候感觉我不是一个非常有毅力的人,举个例子来说,关于戒烟这件事情,从高中开始就走上了一个不归路,期间也多次想过戒烟,但每次都是中途而废,一直没有坚持下来。从前天开始
2007-06-06 12:47:00 | [匿名:Joycode@Ab110.com]
#Vista Sidebar Gadget开发技巧几则 编辑
这不是一篇Vista Sidebar Gadget开发的教程,只是谈谈几则Sidebar Gadget开发中的小技巧。
2007-03-01 20:57:00 | [匿名:被遗弃的小指]
#Vista Sidebar Gadget开发技巧几则 编辑
介绍几个Vista Sidebar Gadget开发中的小技巧
2007-01-31 15:08:00 | [匿名:被遗弃的小指]
#Sidebar Gadget开发教程(4) 编辑
今天继续讲Sidebar Gadget的开发。此篇将是本教程的最后一篇,因为了解了Gadget的大体情况后,接下来就需要大家自己进行练习了。只有勤于练习,而不是安心看教程,你才会积累丰富的开发经验。而且有些细节其实只需要点一下即可,不需要再详述。
2007-01-25 20:02:00 | [匿名:activity8810]
#Sidebar Gadget开发教程(4) 编辑
Sidebar Gadget开发教程(4)
2006-12-25 09:59:00 | [匿名:々城市孤狼々]
#Vista Gadgets 编辑
Sidebar与Gadgets,作为微软在Windows Vista中新纳入的组件,能够提供相当丰富的功能,为用户的日常操作与使用带来很大的便利,比如说,在Sidebar中,我们使用CPU与内存占用监视器查看系统状态,使用RSS阅读器来订阅聚合新闻等等。微软提供了一系列的
2006-11-12 22:06:00 | [匿名:ASP.NET Chinese Blogs]
#Microsoft Gadget 编辑
There is some resource about How to write a Gadget...
2006-11-07 20:19:00 | [匿名:Blog E]
#re: Sidebar Gadget开发教程(3) 编辑
接着...
2006-11-04 15:58:00 | [匿名:tg]
#re: Sidebar Gadget开发教程(3) 编辑
不错
2006-11-04 15:57:00 | [匿名:cw]
#re: Sidebar Gadget开发教程(3) 编辑
类似 MSN/Communicator 的Tag描述文件 :D
2006-11-04 11:36:00 | [匿名:JohnnyHu]
对不起,目前本随笔不允许发表新评论.