技术开发 频道

Silverlight 3 的应用模板扩展

  【IT168 技术】《Silverlight 3中Deep Zoom功能改进》这篇文章中,我们已经概述了Silverlight 3 中Deep Zoom Composer关于照片收集方面的一些功能改进新特性。简单的介绍了我们怎样利用这项新功能更好的收集和配置图片。

  Deep Zoom Composer(DZC)只是我们早期的Tag Browser中的一个对于图片缩放查看的基础应用模板。我们可以应用他做很多事情,比如我们可以将其应用在地图查看功能中,这样,我们就可以更顺畅的查看地图画面,而不会出现刷新和卡壳的现象。但我们根本就不能满足于这么简单的图片处理,我们想让图片进行循环查看或者进行无序排列。就像在Deep ZoomPix 中做的那样。

图1 DeepZoomPix界面

  除了对照片进行布局之外,我们可以在scene.xml 和metadata.xml 文件中对一些元数据(metadata)进行修改和配置。

  在DZC(Deep Zoom Composer) 的应用模板中,有很多我们自己设计制作的模板没有在默认的模板列表中被列举出来。为 了使调用更加方便,我们来看看怎样在扩展功能中添加自己的模板。程序默认提供了三个模板范例。我们可以将其分为俩种类型。

图2 模板标签

  创建没有源文件或项目代码的模板

  这是一个简单的方式来添加我们自己的模板。首先需要创建一个HTML文件并命名为text.html,和一个与其对应的用来展示图片的XAP。设定好的展示图片会存放在GeneratedImages/dzc_output.xml中。在程序的默认安装目录下,找到存放三个默认模板文件的文件夹Export Templates。

图3 Export Templates文件夹

  在此,新建一个文件来存放我们自己的模板,暂且将其命名为Kirupa`s Template。这个名称会显示在模板的下拉列表中。

图4 创建新的文件夹

  将我们之前建立的俩个文件拷贝到这个文件夹中。

图5 拷贝进文件

  重新启动程序,这时,我们就可以在模板的下拉列表中看见他们了。

图6 出现在模板列表中

  当我们用选择的模板创建输出的时候,程序会自动生成一个文件夹,在模板的目录里,其中包含相关的XML文件和生成的展示图片的文件。

图7 输出后创建的相关文件

  这样,我们就可以将看见的喜欢的模板,设定进模板的下拉列表。像调用默认模板一样,方便的调用他们了。

  创建带有源文件或项目代码的模板

  上面,我们了解了怎样创建只有HTML和XAP文件的模板。但有的时候,我们也许想应用一些带有源文件的范例来创建模板。比如,我们想把一个自己编写的,带有很多酷炫属性的,包含很多元数据文件的模板设定到模板的下拉列表中。或者我们想为看到这个处理效果,并希望进一步了解设计细节,从而改进的人提供方便。

  这个时候,只有HTML和XAP俩个文件的模板就显然捉襟见肘了。我们需要提供带有源文件的HTML和XAP文件。大体上,与第一种添加方式是类似的,所不同的是在输入时的文件命名和项目位置上。

  首先,在模板目录下创建一个文件夹,并命名。接下来,应用Expression Blend 3中的DeepZoomProject创建一个新的Silverlight 项目。创建后,我们可以在项目来看见被创建的相应的项目文件。

图8 生成的文件

  如果我们把这个目录里的文件与Deep Zoom Classic + Source folder创建的文件相比较的话会发现他们是一样的。

图9 生成的文件

  唯一的不同之处在于,当我们创建一个输出时,不会有一个GeneratedImages文件夹伴随XAP被创建。在Blend 3 中我们可以简单通过右键功能来创建这个文件夹。

图10 右键添加文件夹

  我们在目录列表中创建一个新的文件夹,并将其命名为GeneratedImages。这样就可以在列表中看见他了。

图11 在项目列表中出现

  当做好上面的操作后,我们只要将DeepZoomProject Solution 文件、DeepZoomProject文件夹和 DeepZoomProjectSite 文件夹复制粘贴到模板目录下我们创建的新的模板文件夹中就可以了。在命名方面,为了方便识别,一般会在名称里讲上源文件字样。比如,我们将这个模板命名为Kirupa`s Template+Source。

图12 创建模板文件夹

  希望以上文字在大家设计制作Silverlight时能有所帮助。我们可以应用这项功能创建属于自己的模板,简单方便的通过调用模板创建够酷酷炫的图片。

0
相关文章