




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、SilverLightViewer开发人员指南丁 海二一年年八月目录TOC o 1-3 h z u HYPERLINK l _Toc270349233 简述 PAGEREF _Toc270349233 h 2 HYPERLINK l _Toc270349234 背景 PAGEREF _Toc270349234 h 2 HYPERLINK l _Toc270349235 术语和定义义 PAGEREF _Toc270349235 h 2 HYPERLINK l _Toc270349236 GIS(地地理信息息系统) PAGEREF _Toc270349236 h 2 HYPERLINK l _To
2、c270349237 GPS (全球卫卫星定位位系统) PAGEREF _Toc270349237 h 2 HYPERLINK l _Toc270349238 RIA (富因特特网应用用程序) PAGEREF _Toc270349238 h 3 HYPERLINK l _Toc270349239 Flex PAGEREF _Toc270349239 h 33 HYPERLINK l _Toc270349240 SilveerLiightt PAGEREF _Toc270349240 h 4 HYPERLINK l _Toc270349241 开发环境 PAGEREF _Toc270349241
3、 h 44 HYPERLINK l _Toc270349242 必备知识 PAGEREF _Toc270349242 h 44 HYPERLINK l _Toc270349243 SilveerLiightt Viieweer开发发框架 PAGEREF _Toc270349243 h 55 HYPERLINK l _Toc270349244 概述 PAGEREF _Toc270349244 h 5 HYPERLINK l _Toc270349245 系统框架图图 PAGEREF _Toc270349245 h 6 HYPERLINK l _Toc270349246 开发人员指指南 PAGERE
4、F _Toc270349246 h 7 HYPERLINK l _Toc270349247 Widgeet FFrammewoork基基础 PAGEREF _Toc270349247 h 7 HYPERLINK l _Toc270349248 系统配置文文件 PAGEREF _Toc270349248 h 111 HYPERLINK l _Toc270349249 系统常用事事件(AAppEEvennt) PAGEREF _Toc270349249 h 117 HYPERLINK l _Toc270349250 开发自己的的Widdgett PAGEREF _Toc270349250 h 25
5、 HYPERLINK l _Toc270349251 使用外部参参数 PAGEREF _Toc270349251 h 344 HYPERLINK l _Toc270349252 使用自定义义图形光光标 PAGEREF _Toc270349252 h 355 HYPERLINK l _Toc270349253 附录I:WWidggetss介绍 PAGEREF _Toc270349253 h 355 HYPERLINK l _Toc270349254 主控窗口(Vieewerr Coontrrolller Widdgett) PAGEREF _Toc270349254 h 355 HYPERLIN
6、K l _Toc270349255 Headeer CConttrolllerr PAGEREF _Toc270349255 h 35 HYPERLINK l _Toc270349256 Classsic Conntroolleer PAGEREF _Toc270349256 h 366 HYPERLINK l _Toc270349257 图层切换(Mapp Swwitccherr Wiidgeet) PAGEREF _Toc270349257 h 338 HYPERLINK l _Toc270349258 鹰眼(Ovvervvieww Maap WWidgget) PAGEREF _Toc2
7、70349258 h 39 HYPERLINK l _Toc270349259 书签(Boookmmarkk Wiidgeet) PAGEREF _Toc270349259 h 440 HYPERLINK l _Toc270349260 附录II:常见问问题 PAGEREF _Toc270349260 h 411 HYPERLINK l _Toc270349261 使用跨域访访问配置置文件(cliienttacccessspollicyy.xmml) PAGEREF _Toc270349261 h 441简述本文档用于于帮助开开发人员员使用SSilvverLLighhtViieweer框架架,
8、开发发基于AArcGGIS forr Siilveerliightt/WPFF APPI 22.0 的RIIA地图图应用。背景ESRI发发布了AArcGGIS SillverrLigght APII等快速速Webb开发包包,受到到了广大大用户及及开发商商的关注注。但一一直以来来开发商商和用户户都只是是使用在在线的文文档及零零散的在在线例子子,开发发商或用用户准备备使用AArcGGIS SillverrLigght APII进行开开发的时时候,总总是感到到无从下下手。基基于以上上原因,本本方案旨旨在为客客户提供供一个可可扩展、移移植的SSilvverLLighht AAPI开开发框架架,并向向用
9、户展展示ArrcGIIS SSilvverLLighht AAPI的的功能及及魅力。术语和定义义GIS(地地理信息息系统)地理信息系系统(GGeoggrapphicc Innforrmattionn Syysteem,简简称 GGIS)是是建立在在地球科科学基础础上的边边缘科学学,是以以地理空空间数据据库为基基础,在在计算机机软硬件件的支持持下,对对空间相相关资料料进行采采集、管管理、操操作、查查询分析析、模拟拟、显示示和制图图输出,并并采用地地理模型型分析方方法,适适时提供供多种空空间和动动态的地地理信息息,为地地理研究究和地理理决策服服务而建建立起来来的计算算机技术术系统。是是融地理理学、
10、几几何学、计计算机科科学及各各类应用用对象为为一体的的综合性性高新技技术。GPS (全球卫卫星定位位系统)GPS是全全球卫星星定位系系统(GGlobbal Possitiioniing Sysstemm,GPPS)的的英文缩缩写,GGPS利利用导航航卫星进进行测时时和测距距,以构构成全球球定位系系统,能能提供个个人候的的定位、授授时、测测速功能能。GPS是一一种精密密的卫星星导航系系统。该该系统由由24颗颗绕地球球旋转的的卫星组组成,卫卫星连续续不断地地发送位位置和时时间信息息。这些些卫星均均匀地分分布在66个轨道道上,每每个轨道道有4 颗卫星星。地面面GPSS接收机机可接收收5到112颗卫卫
11、星信号号。为实实现地面面定位功功能,GGPS接接收机至至少需要要接收44个卫星星信号,其其中3个个信号用用来计算算GPSS接收机机的纬度度、经度度和海拔拔高度,第第四个信信号提供供同步时时间校准准。RIA (富因特特网应用用程序)RIA是RRichh Innterrnett Apppliicattionn 的简简称,也也称富因因特网应应用程序序,是由由Maccrommediia(现现Adoobe)最最先提示示的概念念,以示示与传统统Webb应用程程序相区区别。自从B/SS架构迅迅速流行行开来之之后,我我们就一一直面临临着这样样一个问问题:如如何做到到当初CC/S那那样的表表示层精精确控制制以及
12、良良好的用用户体验验?当然然,大量量的利用用DHTTML以以及 JJavaaScrriptt我们可可以实现现接近CC/S时时代的表表示层控控制和展展现,比比如Biindoows ,但是是我们需需要付出出比C/S时代代更多的的人力物物力才能能做到接接近于CC/S客客户端的的表现方方式,这这不是我我们想要要的。在在我们从从当初狂狂热的BB/S浪浪潮中逐逐渐冷静静下来的的时候,我我们发现现单纯的的瘦客户户端/胖胖服务器器模式并并非是一一个万能能的模式式 - 世间能能量终究究是守恒恒的,有有得必有有失,我我们在获获得了BB/S带带来的种种种好处处之后,也也同样失失去了CC/S带带给我们们的帮助助,因此
13、此RIAA(Riich Intternnet Apppliccatiionss)的出出现就显显得极其其自然了了。RIA意味味:不同凡响的的Webb功能、更好的的用户体体验、更强大大的用户户界面、更好的的交互性性、更先进进的开发发模型、更强大大的多媒媒体功能能、更好的的数据管管理、更好的的程序控控制目前RIAA开发的的技术主主要有,AAdobbe FFlexx、Ajjax、WWPF、OOpennLasszloo、Goooglle WWeb Tooolkiit、JJavaa SWWT、XXUL、JavvaFXX、Siilveerliightt。Flex随着当今信信息技术术飞速发发展和IInteer
14、neet带宽宽的增加加,传统统的文字字图片片的方式式已经不不能满足足人们对对Webb内容的的需要。随随着Weeb 22.0的的概念越越来越深深入人心心,Fllex技技术作为为RIAA技术的的领航者者已经快快速的发发展到了了第三个个版本FFlexx 3.0。FFlexx技术是是完全基基于矢量量图形技技术的,这这样使得得用户能能够获得得更多的的用户体体验。只只要浏览览器可以以播放FFlassh,就就可以显显示Fllex的的网站。由由于FllashhPlaayerr的高市市场占有有率,基基于Fllex的的RIAA技术已已经逐渐渐成为WWeb 2.00开发的的主要技技术手段段。Fllex的的定位是是提
15、供丰丰富Innterrnett应用的的企业级级开发框框架。轻轻便的开开发模式式和良好好的服务务端兼容容性使得得Fleex已经经成为主主流的网网站和电电子商务务的发展展方向。SilveerLiighttSilveerliightt是微软软推出的的一个跨跨平台跨跨操作系系统的插插件,使使Webb开发者者能够在在浏览器器中建造造丰富的的媒体体体验和RRIA应应用。可可用于WWinddowss平台上上的IEE和Fiireffox浏浏览器,以以及Maac OOS XX平台上上的Fiireffox和和Saffarii浏览器器。Silveerliightt 是一一种新的的 Weeb 呈呈现技术术,能在在各种
16、平平台上运运行。借借助该技技术,您您将拥有有内容丰丰富、视视觉效果果绚丽的的交互式式体验,而而且,无无论是在在浏览器器内、在在多个设设备上还还是在桌桌面操作作系统(如如 Appplee Maacinntossh)中中,您都都可以获获得这种种体验。支支持创建建3D模模型、可可以更轻轻松的现现实视频频播放和和分享的的播放器器一类的的东西,支支持搜索索引擎。开发环境Windoows Xp/20003/220088/7 IIISMicroosofft VVisuual Stuudioo 20010Microosofft EExprresssionn Bllendd 4SilveerLiightt 4S
17、ilveerliightt_4_TooolkiitSilveerLiightt Tooolss foor VVisuual Stuudioo 20010 ArcGIIS ffor Sillverrligght/WPFF APPI 22.0SilveerLiighttVieewerr 1.0 必备知识熟练使用VVisuual Stuudioo开发SSilvverLLighht(CC # 或VBB)熟悉ArccGISS foor SSilvverllighht/WPFF APPISilveerLiightt Viieweer开发发框架概述SilveerLiighttVieewerr开发框框架帮助助
18、开发人人员,快快速的开开发和部部署基于于ArccGISS foor SSilvverllighht/WPFF APPI 22.0 的RIIA地图图应用。SilvverLLighht VViewwer开开发框架架有以下下特点:轻松配置,以以满足客客户业务务需求和和要求通过Widdgett来实现现各种功功能,提提供许多多核心的的Widdgett如:图图层管理理、鹰眼眼等轻松扩展,可可根据自自己的业业务需求求,轻松松的编写写或下载载widdgettsWidgeets采采取按需需下载管管理模式式,最小小化服务务器网络络负载。类似于 AArcGGIS Vieewerr foor FFlexx 系统框架图
19、图开发人员指指南Widgeet FFrammewoork基基础Widgeet是被被封装在在一起的的一段或或一组孤孤立的可可执行代代码,它它实现了了用户的的一种或或一组功功能或业业务逻辑辑(包括括可视化化的界面面)。对于面向向服务的的应用,WWidgget甚甚至可以以是一个个服务(数据、业务流程等)。用户可以轻松的执行这个Widget。同时Widget也支持被共享和重用。IBaseeWiddgett接口(IBaaseWWidgget.cs)定义了Wiidgeet的一一系列通通用接口口,会被被WiddgettMannageer调用用。publiic iinteerfaace IBaaseWWidg
20、get intt IDD gett; sset; voiid ssetTTitlle(sstriing vallue); voiid ssetIIconn(sttrinng vvaluue); sstriing connfigg gett; sset; ConnfiggDatta cconffigDDataa gett; sset; voiid ssetSStatte(sstriing vallue); Mapp maap geet; sett; voiid ssetPPrelloadd(sttrinng vvaluue); voiid ssetXXYPoosittionn(dooublle
21、xx, ddoubble y); voiid ssetRRelaativvePoosittionn(dooublle lleftt, ddoubble rigght, dooublle ttop, dooublle bbotttom, sttrinng hhoriizonntall, sstriing verrticcal); Boooleaan iisDrragaablee gett; sset; Boooleaan iisReesizzeabble gget; seet; strringg prroxyyUrll gett; voiid rrun(); BaseWWidgget类类(Bas
22、seWiidgeet.xxamll、BasseWiidgeet.xxamll.css)Widgeet的基基础类,所所有Wiidgeet都继继承自这这个基类类。它实实现了IIBasseWiidgeet接口口和一些些通用的的方法。一些通用的的方法:publiic vvoidd shhowIInfooWinndoww(Diictiionaary innfoDDataa);publiic vvoidd seetMaapAcctioon(sstriing acttionn, sstriing staatuss, EEvenntHaandller calllbaack); ppubllic voiid s
23、setMMapNNaviigattionn(Sttrinng nnavMMethhod, Sttrinng sstattus); ppubllic voiid sshowwErrror(strringg errrorrMesssagge);一些通用的的事件:publiic ddeleegatte vvoidd WiidgeetCoonfiigEvventtHanndleer(oobjeect sennderr, AAppEEvennt ee);(配配置文件件加载事事件代理理)publiic eevennt WWidggetCConffigEEvenntHaandller WiddgettCon
24、nfiggEveent; (配配置文件件加载事事件)publiic eevennt WWidggetCConffigEEvenntHaandller WiddgettConnfiggErrrorEEvennt; (配置置文件加加载失败败事件)注:所有的的Widdgett必须继继承自这这个类。IWidggetPPaneel接口口(IWiddgettPannel.cs)这个接口定定义了WWidgget模模板(通通用的界界面及行行为)在在BasseWiidgeet 中中被调用用的接口口。 publlic intterffacee IWWidggetPPaneel intt wiidgeetIdd g
25、ett; sset; strringg wiidgeetTiitlee gett; sset; strringg wiidgeetIccon gget; seet; voiid ssetSStatte(sstriing vallue); Boooleaan iisDrragaablee gett; sset; Boooleaan iisReesizzeabble gget; seet; WidgeetPaanell类(WiddgettPannel.xamml、WWidggetPPaneel.xamml.ccs)一个Widdgett模板。提供了了widdgett的基本的的用户界界面布局局(面板、
26、窗口、标题栏栏、图像按按钮等)和行为为(最大大化、最最小化、关关闭等).通过使使用Wiidgeet模板板,Wiidgeet开发发人员可可以花更更多的他他们对自自己的核核心业务务需求的的开发时时间。开发人员可可以自定定义自己己的wiidgeet模板板,一定定要实现现IWiddgettPannel接接口。一些通用的的方法:publiic vvirttuall vooid adddTittlebbarBButtton(Strringg iccon, Sttrinng ttip, MoouseeButttonnEveentHHanddlerr moouseeLefftBuuttoonDoown);一些
27、通用的的事件:publiic eevennt EEvenntHaandller WiddgettMinnimiizeddEveent;(最小小化事件件) puubliic eevennt EEvenntHaandller WiddgettMaxximiizeddEveent; (最最大化事事件) puubliic eevennt EEvenntHaandller WiddgettClooseddEveent; (关关闭事件件)Widgeet 界界面元素素titleBartxtTitleimgIcontitleBartxtTitleimgIconwidgetPanelContentwidgetP
28、anelContentLayoutRootLayoutRoot界面元素嵌嵌套关系系如下图图:WidgetBarWidgeet 和和 WiidgeetBaarWidgetBarWidget控制条WidgetWidget控制条WidgetWidgeet :接受WWidggetCConttorll 管理理。WidgeetBaar:不不受WiidgeetCoontoorl 管理。系统配置文文件我们可以以通过修修改配置置文件,轻轻松完成成系统界界面的定定制。全局配置文文件(默默认为cconffig.xmll)标签段段定义用户户的UII界面。包包括tiitlee、subbtittle、loggo、styy
29、lessheeet、等等标签段段。:SillverrLigght Vieewerr应用程程序的标标题。(HeaaderrConntroolleer Widdgett的左上上角显示示标题):SillverrLigght Vieewerr应用程程序的子子标题。(HeaaderrConntroolleer Widdgett的标题下方方显示):SillverrLigght Vieewerr应用程程序的Loggo。(HeaaderrConntroolleer Widdgett的左上上角显示示):SillverrLigght Vieewerr应用程程序的风风格描述述文件。:Widdgett的布局局方式。有
30、下面几种布局方式:horizzonttal:横向布布局vertiicall:纵向布布局(默认)floatt:随意意布局,wwidgget 可拖动动、调整整大小标签段段定义Mapp相关的的信息,标签段包括下面的一些属性:initiialEExteent:安装时时地图显显示的区区域(XMiin YYMinn XMMax YMaax)fullEExteent:地图显显示的最最大区域域(XMiin YYMinn XMMax YMaax)left:地图距距离最左边的的距离rightt:地图距距离最右边的的距离top:地地图距离离最上边的的距离bottoom:地图距距离最下边的的距离还包含下面面的标签签段
31、:定义背背景地图图信息,包包含maapseerviice标标签段:定义一一个地图图服务信信息,包包含下面面的一些些属性及及值域Labell:地图服务务的标题题名type:地图服服务类型型(tilleddynnamiicvvirttuallearrthimaage)visibble:地图服服务的可可见性tokenn:tokken串串alphaa:透明度度icon:地图服服务的图图标stylee:图层层风格(Roaad、Aerriall 、AerriallWitthLaabells) (只适适用于vvirttuallearrth)值域:地图图服务的的访问地地址:定义操操作地图图信息,包包含laay
32、err标签段段:定义一一个操作作图层信息息,包含含下面的的一些属属性及值值域Labell:图层层的标题题名type:图层的的类型(tileddynamicfeature)visibble:图图层的可可见性tokenn:tookenn串alphaa:透明明度icon:图层的的图标值域:图层层的访问问地址标签签段定义Widdgetts的信信息。包包含多个个标签段段:定义义一个WWidgget的的信息,包包含下面面的属性性及值域域Labell:Wiidgeet的标标题名icon:Widdgett的图标标type:Widdgett的类名名(创建建Widdgett时使用用)prelooad:启动应应用系
33、统统时是否否自动加加载(ttruee/faalsee)confiig:Widdgett的独有有的配置置文件。resdiict:Widdgett的独有有的资源源文件。groupp: Wiidgeet的分分组信息息x:Widdgett的X轴轴绝对位位置y:Widdgett的Y轴绝对对位置值域:Wiidgeet所在在DLLL或Xaap包的的名称(含含路径)标签段段定义Wiidgeetbaars的的信息。包包含多个个标标签段:定义义一个WWidggetbbar的的信息,包包含下面面的属性性及值域域Labell:Widdgettbarr的标题题名icon:Widdgettbarr的图标标type:Wid
34、dgettbarr的类名名(创建建Widdgett时使用用)confiig:Widdgettbarr的独有有的配置置文件。resdiict:Widdgettbarr的独有有的资源源文件。left:Widdgettbarr相对于于最左边边的距离离(没有有设置时时不参与与计算)rightt:Widdgettbarr相对于于最右边边的距离离(没有有设置时时不参与与计算)top:WWidggetbbar相相对于最最上边的的距离(没没有设置置时不参参与计算算)bottoom:Widdgettbarr相对于于最下边边的距离离(没有有设置时时不参与与计算)horizzonttal:Widdgettbarr横
35、向计算算模式(lefft(默认):自左向向右, rigght:自右向向左)vertiicall:Widdgettbarr纵向计计算模式式(topp(默认):自上向下 , boottoom:自下向上)值域:Wiidgeet所在在DLLL或Xaap包的的名称(含含路径)Widgeet配置置文件(*.xxml)Widgget独独有的配配置文件件,定义义Widdgett需要的的配置信信息,配配置文件件格式及及内容由由Widdgett自己处处理(开开发人员员在WiidgeetCoonfiigEvventt事件中中处理)。ConfiigDaata类类publiic cclasss CConffigDDat
36、aa pubblicc Diictiionaary UII gett; sset; pubblicc Diictiionaary Maap geet; sett; pubblicc Diictiionaaryintt, DDicttionnaryy Bassemaaps gget; seet; publiic DDicttionnaryyinnt, Dicctioonarry OpperaatioonallLayyerss gett; sset; pubblicc Diictiionaaryintt, DDicttionnaryy Widdgetts geet; sett; publiic D
37、Dicttionnaryysttrinng, Dicctioonarry Coontrrolss gett; sset; 系统常用事事件(AAppEEvennt)定义了一些些列系统统常用的的事件,包含在ApppEveent.cs文文件中。使使用监听听和发起起系统事事件必须须使用VViewwerCConttainner全全局类。监听事件件例子:VieweerCoontaaineer.aaddEEvenntLiisteenerr(ApppEvventt.COONTAAINEER_IINITTIALLIZEED, neww ViieweerEvventtHanndleer(cconttainnerI
38、Inittiallizeed);触发事件例例子:VieweerCoontaaineer.ddisppatcchEvventt(ApppEvventt.WIIDGEET_RRUN, neew AAppEEvennt(IItemmId);APP_EERROOR应用程序序出错事事件,在在应用程程序出错错时触发发。AppEvventt类的ddataa属性为为字符串串类型。触发事件示示例:Strinng ddataa = “出错了了!”;VieweerCoontaaineer.ddisppatcchEvventt(ApppEvventt.APPP_EERROOR, neww ApppEvventt(da
39、ata);CONFIIG_LLOADDED系统全局局配置文文件加载载成功后后,触发发事件。AppEvventt类的ddataa属性为为ConffigDDataa类型实例例。监听事件示示例:VieweerCoontaaineer.aaddEEvenntLiisteenerr(ApppEvventt.COONFIIG_LLOADDED, new VViewwerEEvenntHaandller(ConnfiggLoaadedd); pprivvatee vooid ConnfiggLoaadedd(obbjecct ssendder, ApppEvventt e) MAP_LLOADDED地图控件
40、件加载成成功时触触发的事事件。AppEvventt 类的的datta属性性为ESSRI.ArccGISS.Clliennt.Mapp类型实实例。监听事件件示例:VieweerCoontaaineer.aaddEEvenntLiisteenerr(ApppEvventt.MAAP_LLOADDED, new VViewwerEEvenntHaandller(MappLoaadedd);privaate voiid MMapLLoadded(objjectt seendeer, ApppEveent e) map = (MMap)e.DDataa; MAP_RRESIIZE用于改变地地图控件件大小
41、事事件。AppEvventt 类的的datta属性性为Diictiionaary类型实实例,包包含以下下的元素素:leftt : 左边边的空白白距离 riightt : 右边边的空白白距离 toop : 上上边的空白白距离 boottoom : 下下边的空空白距离离触发事件示示例:Dictiionaary daata = nnew Dicctioonarry(); datta.AAdd(leeft,0); daata.Addd(rrighht,0); datta.AAdd(toop,0); datta.AAdd(boottoom,0);VieweerCoontaaineer.ddisppatc
42、chEvventt(ApppEvventt.MAAP_RRESIIZE, neew AAppEEvennt(ddataa);LAYERR_LOOADEED基础地图图图层加载载成功时时触发的的事件。AppEvventt 类的的datta属性性为Nuull。监听事件件示例:VieweerCoontaaineer.aaddEEvenntLiisteenerr(ApppEvventt.LAAYERR_LOOADEED, new VViewwerEEvenntHaandller(OnllayeerLooadeed);privaate voiid OOnlaayerrLoaadedd(obbjecct s
43、sendder, ApppEvventt e)MAP_LLAYEER_VVISIIBLEE设置地图图图层是是否显示示的事件件。AppEvventt 类的的datta属性性为Diictiionaary类型实实例,包包含以下下的元素素:layeer : EESRII.ArrcGIIS.CClieent.layyer类类型 viisibble : 布尔类类型(ttruee/faalsee)触发事件示示例:Dictiionaary daata = nnew Dicctioonarry();ESRI.ArccGISS.Clliennt.LLayeer lly = geetLaayerr(llayeer)
44、;data.Addd(llayeer, lyy);data.Addd(vvisiiblee,ffalsse);VieweerCoontaaineer.ddisppatcchEvventt(ApppEvventt.MAAP_LLAYEER_VVISIIBLEE, new pppEvventt(daata);BASEMMAP_SWIITCHH切换基础础地图图图层显示示的事件件。AppEvventt 类的的datta属性性为innt类型型的图层层ID(layyerIID);触发事件示示例:strinng llabeel =Strreetts MMap;Dictiionaaryintt, DDictt
45、ionnaryy BasseMaaps = conffigDDataa.Baasemmapss;for (intt i = 00; ii BasseMaaps.Couunt(); i+) iff (llabeel = BBaseeMappsiilabbel) VieweerCoontaaineer.ddisppatcchEvventt(ApppEvventt.BAASEMMAP_SWIITCHH, new AAppEEvennt(ii); breeak;WIDGEET_RRUN用于运行指指定Wiidgeet的事件。AppEvventt 类的的datta属性性为innt类型型的Wiidgeet标
46、识识;触发事件示示例:VieweerCoontaaineer.ddisppatcchEvventt(ApppEvventt.WIIDGEET_RRUN, neew AAppEEvennt(iid);WIDGEET_BBROAADCAASTWidgeet的广广播事件件,所有有Widdgett都默认认收到该该事件。AppEvventt 类的的datta属性性为Diictiionaary类型实实例,内内容自定定;触发事件示示例:Dictiionaary daata = nnew Dicctioonarry();dataclloseewiddgett = 110;VieweerCoontaaineer
47、.ddisppatcchEvventt(ApppEvventt.WIIDGEET_BBROAADCAAST, new AAppEEvennt(ddataa);处理事件示示例(WWidgget):proteecteed ooverrridde vvoidd PrroceessBBroaadcaast(Dicctioonarry datta)SET_MMAP_NAVVIGAATIOON用于指定地地图当前前导航操操作的事事件,所所有Wiidgeet可调调用seetMaapNaaviggatiion(Strringg naavMeethood, Strringg sttatuus)方方法触发发该事件件
48、。AppEvventt 类的的datta属性性为Diictiionaary类型实实例,包含以以下的元元素:tooll : 当当前导航航任务,主主要包含含: pann 移动地地图(NNaviigattionn.PAAN)zoomiin 放大地地图(NNaviigattionn.ZOOOM_IN)zoomoout 缩小地地图(NNaviigattionn.ZOOOM_OUTT)zoomffulll 全景地地图(VViewwerCConttainner.NAVVIGAATIOON_ZZOOMM_FUULL)zoompprevviouus地图上上一场景景(ViieweerCoontaaineer.NN
49、AVIIGATTIONN_ZOOOM_PREEVIOOUS)zoomnnextt 地图下下一场景景(ViieweerCoontaaineer.NNAVIIGATTIONN_ZOOOM_NEXXT) sttatuus : 当前状状态信息息触发事件件示例:setMaapNaaviggatiion(paan, 移移动);SET_MMAP_ACTTIONN用于获得地地图画图图操作的的事件所所有Wiidgeet可调调用seetMaapAcctioon(sstriing acttionn, sstriing staatuss, EEvenntHaandller calllbaack)方法触触发该事事件。A
50、ppEvventt 类的的datta属性性为Diictiionaary类型实实例,包含以以下的元元素:tooll : 当当前画图图方法,主主要包含含:pointt画点(DraawMoode.Poiint)rectaanglle画矩矩形(DraawMoode.Recctannglee)polyllinee画线(DraawMoode.Pollyliine)polyggon画画多边形形(DraawMoode.Pollygoon)freehhandd手画(DraawMoode.Freeehaand) sttatuus : 当前状状态信息息 haandller : drrawEEnd事事件句柄柄触发事件
51、示示例:setMaapAcctioon(vvaluue, staatuss, ddrawwEndd);privaate voiid ddrawwEndd(obbjecct ssendder,DraawEvventtArggs ee) DATA_PUBBLISSH发布新的共共享数据据的事件件,所有有Widdgett可调用用adddShaareddDatta(sstriing keyy, LListt lisst)方方法触发发该事件件。AppEvventt 类的的datta属性性为Diictiionaary类型实实例,内内容为:数据标识11: 数据据内容数据标识nn: 数据据内容触发事件件示例:D
52、ictiionaary daata = nnew Dicctioonarry(); ddataa.Addd(kkey, thhis); VViewwerCConttainner.disspattchEEvennt(AAppEEvennt.DDATAA_PUUBLIISH, neew AAppEEvennt(ddataa);监听事件示示例:VieweerCoontaaineer.aaddEEvenntLiisteenerr(ApppEvventt.DAATA_PUBBLISSH, new VViewwerEEvenntHaandller(dattapuubliish); pprivvatee v
53、ooid dattapuubliish (obbjecct ssendder, ApppEvventt e) DATA_NEWW_PUUBLIISHEED当新的数据据被加到到共享数数据池时时触发的的事件。AppEvventt 类的的datta属性性为Diictiionaary类型实实例,内内容为:数据标识11: 数据据内容数据标识nn: 数据据内容监听事件示示例:VieweerCoontaaineer.aaddEEvenntLiisteenerr(ApppEvventt.DAATA_NEWW_PUUBLIISHEED, new VViewwerEEvenntHaandller(dattanee
54、wpuubliish); pprivvatee vooid dattaneewpuubliish (obbjecct ssendder, ApppEvventt e) DATA_FETTCH_ALLL发出获得所所有共享享数据池池中数据据申请的事件,事事件将会会触发DDATAA_SEENT事事件,所所有Wiidgeet可调调用feetchhShaareddDatta()方法触触发该事事件。AppEvventt 类的的datta属性性为nuull触发事件件示例:this. feetchhShaareddDatta ();DATA_FETTCH发出获得指指定共享享数据池池中数据据申请的的事件,事事件
55、将会会触发DDATAA_SEENT事事件。AppEvventt 类的的datta属性性为Diictiionaary类型实实例,内内容为:数据标识11: 数据据内容数据标识nn: 数据据内容触发事件件示例:Strinng kkey = “key1”; VViewwerCConttainner.disspattchEEvennt(AAppEEvennt.DDATAA_FEETCHH, nnew ApppEveent(keyy);DATA_SENNT由共享数据据池发出出的响应应数据查看看申请(DATTA_FFETCCH、DATTA_FFETCCH_AALL)的事件件。AppEvventt 类的的da
56、tta属性性为Diictiionaary类型实实例,内内容为:数据标识11: 数据据内容数据标识nn: 数据据内容监听事件示示例:VieweerCoontaaineer.aaddEEvenntLiisteenerr(ApppEvventt.DAATA_SENND, new VViewwerEEvenntHaandller(dattaseend); pprivvatee vooid dattaseend (obbjecct ssendder, ApppEvventt e) SHOW_INFFOWIINDOOW显示信息窗窗口事件件,所有有Widdgett可调用用shoowInnfoWWinddow
57、(Dicctioonarry)方法触触发该事事件。AppEvventt 类的的datta属性性为Diictiionaary类型实实例,包包含以下下的元素素:iconn : 信信息的图图标 tiitlee : 信信息的标标题内容容 liink : 信息息的链接接信息 poointt : 信信息在图图上显示示的位置置(ESSRI.ArccGISS.Clliennt.Geoomettry.MappPoiint) geeomeetryy : 信信息对应应的几何何元素(ESRRI.AArcGGIS.Cliientt.Geoomettry)触发事件示示例:Dictiionaaryinffodaata =
58、nnew Dicctioonarry();this.shoowInnfoWWinddow(inffodaata);关闭信息窗窗口示例例:this.shoowInnfoWWinddow(nulll);开发自己的的Widdgett这节将给给大家介介绍如何何创建自自己的WWidgget,当当然首先先我们要要安装好好开发环环境。然然后在VVS20010中中打开解解决方案案(SiilveerliighttVieewerr)。创建新的工工程首先我们在在VS220100创建一一个新的的工程,我我们支持持创建”SillverrLigght 应用程程序” 和”SillverrLigght 类库”两种类型型的工程
59、程文件。下下面我们们以”SillverrLigght 类库”类型的的工程类类创建我我们的WWidgget(MyFFirsstWiidgeet)。然后修改改工程的的属性:修改“SSilvverllighht”页的“默认命命名空间间”为“ ESSRI.SillverrligghtVViewwer.Widdgetts”.在“生成成事件”页的“后期生生成事件件命令行行”中添加下下面的语语句:copy $(TTarggetPPathh) $(SooluttionnDirr)SiilveerliighttVieewerr.WeebCClieentBBinwiddgettscopy $(PProjjectt
60、Dirr)$(TarrgettNamme).xmll $(SollutiionDDir)SillverrligghtVViewwer.WebbCllienntBiinwwidggetss然后添加 SillverrLigght Vieewerr 引用用最后保存工工程。我们马上可可以创建建自己的的Widdgett了。创建新的WWidgget首先创建一一个新的的SillverrLigght用用户控件件,命名名为MyyFirrstWWidgget。修改 MyyFirrstWWidgget.xamml 文文件替换UseerCoontrrol 为 sslv:BasseWiidgeet增加 xmmlnss:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 6.3二氧化碳的实验室制取(第二课时)-人教版九年级《化学》上册教学课件
- 智能预约系统优化景区游客容量管理-洞察阐释
- 图论在量子计算中的潜力-洞察阐释
- 锌冶炼企业经营管理方案
- 高中音乐跨学科教学中的评估与反思策略
- 高中科技创新跨学科教学在提升学生综合能力中的作用
- 2025至2030年中国热收缩成型机行业投资前景及策略咨询报告
- 2025至2030年中国火花侦测器行业投资前景及策略咨询报告
- 2025至2030年中国淋头固定座行业投资前景及策略咨询报告
- 2025至2030年中国洗模剂行业投资前景及策略咨询报告
- 2025设备租赁合同版本范文
- 转让钓场合同协议书
- 2025年四川省成都市初中学业水平考试生物试题(无答案)
- 医院感染教学课件
- 民航危险品运输典型案例55课件
- 仓库管理制度及流程
- 四川省绵阳市名校联盟2025届八年级物理第二学期期末复习检测试题含解析
- 2025-2030中国烘焙食品行业市场发展分析与发展趋势及投资风险研究报告
- 2024北京西城区五年级(下)期末数学试题及答案
- AI技术在智能护理中的应用和挑战
- 2025年瑜伽教练资格证考试题库:瑜伽教练职业培训教学案例试题
评论
0/150
提交评论