Silverlight API学习笔记.docx
- 文档编号:30119849
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:36
- 大小:509KB
Silverlight API学习笔记.docx
《Silverlight API学习笔记.docx》由会员分享,可在线阅读,更多相关《Silverlight API学习笔记.docx(36页珍藏版)》请在冰豆网上搜索。
SilverlightAPI学习笔记
SilverlightAPI学习笔记
(一)
上一篇/下一篇 2010-06-0813:
03:
57/个人分类:
ArcGISServer
查看(439)/评论(4)/评分(0/0)
ArcGISSilverlightAPI安装资源下载
ArcGISSilverlightAPI的帮助是在线的,访问的URL为:
关于如何搭建应用开发环境,可以参照左边的目录树中的Installation,其中包含各种开发资源的下载链接。
在系列教程的第一讲中,我先将本Help中提到的相关资源全部下载整理了一下,放在QQ空间的中转站中。
QQ帐号是:
arcgiser@ 密码是:
giser1234567,大家登录QQ邮箱后,直接在文件中转站中可以看到下载链接。
因为这个资源是开放给GISer方便学习用的,请不要随便更改QQ密码。
文件默认的存放时间为7天,如果有人看到即将过期,请帮忙续期一下。
(VS2010实在太大了,就不上传了,大家自己找下载地址吧)
这个资源主要包含以下几个,简要介绍如下:
(1)ExpressionBlend4RC:
ExpressionBlend,是一款用于设计桌面和Web应用用户界面的可视化工具,用户可以通过拖拉控件方式创建用户交互界面,即ExpressionBlend是一款SilverlightAPI编程的IDE。
ExpressionBlend4RC是4.0ReleaseCandidate版本。
(2)Silverlight4_Tools
如果您是在VS2010中进行ArcGISSilverlight API开发的话,必须在安装完VS2010之后再安装Silverlight4_tools(4和RIA应用程序的必要组件。
(4)ArcGISSilverlightWPF20_beta2
ArcGISSilverlightAPI,通过ESRI的GlobalAccountant即可下载。
安装步骤:
(1)如果采用VS2010开发环境,先将VS2010,再安装Silverlight4_tools,再安装ArcGISSliverlightWPF20_Beta2。
(2)如果是ExpressionBlend开发环境,则安装完ExpressionBlend之后,再安装ArcGISSilverlightWPF20_beta2。
安装之后,在VS2010和ExpressionBlend中都会嵌模板程序,如图:
这样开发环境就搭建好了,接下来我们就能用SilverlightAPI来进行开发了。
SilverlightAPI学习笔记
(二)
上一篇/下一篇 2010-06-0813:
46:
57/个人分类:
ArcGISServer
查看(417)/评论(0)/评分(0/0)
在第一讲中,我们讲到ArcGISSilverlightAPI开发支持在VS2010和ExpressionBlend两种IDE中开发。
从发展历史上看,VS更重编程,而ExpressionBlend更注重界面设计。
因为从Silverlight2.0开始都是使用双轨迹的方式来发展,即设计界面使用ExpressionBlend而程序代码使用SilverlightToolsforVisualStuido(.tw/regionbbs/archive/2010/01/21/vs2010.new.feature.silverlight.tools.enhancements.aspx)。
但是随着技术的发展,从VS2010和Expression4中,我们看到,VS2010的界面设计能力有了很大的提高,而Expression4的Coding能力同样也表现出色。
所以,选择哪种开发环境,就取决于项目的需要以及个人的喜好了。
或者搭配使用,效果更优。
如果需要了解ExpressionBlend开发的系列资源(《ExpressionBlend实例中文教程》),请到QQ邮箱,QQ中转站上下载。
用户名:
arcgiser@
密码:
giser1234567
请不要随意更改密码
下面以GettingstartedwithExpressionBlend为例,看如何开始ArcGISSilverlightAPI的开发:
(1)在ExpressionBlend4中创建一个Silverlight应用程序,NewProject->Silverlight,选择SilverlightApplication+Website,如图,确定。
(2)在ExpressionBlend的右边工具条上选择Assets按钮,这样会展开ExpressionBlend中可用的组件。
在Controls下选择ESRI,会看到它包含两个核心的Control:
Map和ScaleBar。
选择Map,并拖放到左边面版中的空白区,合理调整组件的大小。
(3)此时在ExpressionBlend的Objects和Timeline的Tab中可以看到加载到面版上控件的继承关系,比如某个Container中有哪些控件之类的。
在Object和Timeline中选择Map,然后可以看到在右面的属性窗口中列出了Map控件的相应属性。
选择属性页右下列表的MapSetting,打开,可以看到Layerscollection,点击边上的省略号,打开加载图层配置对话框。
如图:
选择AddAnotherItem,弹出ArcGIS服务类型选择对话框,例如是动态的地图缓存还是缓存地图服务等。
这个依据实际情况而定,填入相应的参数之后,选择Project-->RunProjects,即可运行程序。
SilverlightAPI学习笔记(三)
上一篇/下一篇 2010-06-0816:
14:
19/个人分类:
ArcGISServer
查看(251)/评论(0)/评分(0/0)
ArcGISAPIforSilverlight/WPFFAQ
(1)32bitor64bit?
默认的,ArcGISAPIforMicrosoftSilverlight/WPF都是安装在32位ProgramFiles目录之下的ESRISDKs。
ESRISDKs包含两个文件夹,Silverlight和WPF,每一个都包含相应平台所需要的必须的部件。
WPF部件支持32位和64位的操作系统环境,而Silverlight目前只支持32位。
参考(微软为何迟迟不发64位Silverlight)
(2)访问自己的地图服务是空白的,访问ArcGISOnline的服务却是正常?
必须让ArcGISServer的网站打开远程服务访问,这个可以通过部署clientaccesspolicy.xml或者crossdomain.xml来实现。
在多数情况下,只需要把XML文件放置到你的WebSite的根目录下,例如对于IIS而言是:
C:
\inetpub\wwwroot\。
连接ArcGISOnline的服务正常是因为ArcGISOnline已经所有的Silverlight客户端授予了访问权限。
我们可以参照ArcGISOnline上的Clientaccesspolicy.xml文件。
xmlversion="1.0"encoding="utf-8"?
>
-
-
-
-
//*"/> - (3)任务仅返回特定数据的要素。 默认的,ArcGISServer 服务的查询是一次是限制返回500个要素的,MapIt一次是返回1000个要素的。 如果你有访问Server的权限,这两个都是可以在Server上直接修改的。 如图: 如果没有管理Server的权限(例如用别人Serve所发布的服务),那么可以通过客户端的连续结果块中反复获取得到。 这样的话,你需要一个字段来主键字段来跟踪。 (4)在访问Silverlight应用程序的时候,返回2103错误? 放置Silverlight应用程序的Web服务器必须添加一些mine类型来支持Silverlight应用。 详细请参考: 以下以windows2003Server为例,看如何来添加这些mine类型。 主要需要添加的mine类型有: .xaml application/xaml+xml .xap application/x-silverlight-app .xbap application/x-ms-xbap A: 在控制面版中,打开IIS。 B: 在IIS的根节点,machine-name(localhost)上右击选择属性,如图: C: 点击MIMETypes,将 .xaml application/xaml+xml .xap application/x-silverlight-app .xbap application/x-ms-xbap 添加上去。 (5)ArcGISServer动态地图服务该透明的地方不透明? 这个是Silverlight2和Silverlight3上的BUG,如果你将生成的图片格式设为PNG8的话,就是不透明。 要达到透明效果,必须将生成的图片格式指定为PNG24或者PNG32。 这个BUG在Silverlight4上已经解决。 SilverlightAPI学习笔记(四)-1 上一篇/下一篇 2010-06-1011: 10: 05/个人分类: ArcGISServer 查看(247)/评论(0)/评分(0/0) ArcGISAPIforSilverlight/WPF2.0新特性 ArcGISAPIforSilverlight/WPF2.0新特性必须配合ArcGISServer10使用才有效,这些新特性包括编辑,timeawarelayer以及网络分析中的最近设施,服务区范围,几何服务中的合并以及概化等。 具体表现在: (1)开发Silverlight应用程序必须使用Silverlight4,Silverlight3不再支持 Silverlight4有很多的新特性,下面是这些Silverlight新特性影响到ArcGISSilverlight/WPF开发人员的地方: A: 在XAML中,你可以移除在XAML的首页中多个部件和名字空间的引用,如ESRI.ArcGIS.Client,ESRI.ArcGIS.Client.Behaviors以及ESRI.ArcGIS.Client.Toolkit等,改用: xmlns: esri= B: ButtonBase和Hyperlink类提供为Silverlight4提供了Commandingsurfacearea。 这些控制了Command和CommandParameter的属性来绑定和利用包含可执行的逻辑和实现ICommand的对象。 ArcGISSilverlight/WPFAPI2.0包含一个编辑类,包含一些命令集,可以用于选择和编辑Graphics。 C: Graphic属性的数据绑定不再需要使用DictionaryConverter。 Silverlight4可以直接绑定Dictionaries,所以绑定Graphics属性到Maptips的Textblick中只需要使用以下的简单代码: D: 在创建Silverlight4应用程序时,VS2010和Expressionblend4都是需要的。 VS2010的SIlverlightToolingSupport包含一个可编辑的设计界面,拖放数据绑定,可集成ExrpessionBlend中的Stylingresources等。 ExpressionBlend4则继续提供了增强的设计体验用于创建高效的应用程序接口,模板以及动画流。 ArcGISSilverlighttempletes集成在VS2010,VisualWebDeveloperExpression2010以及ExpressionBlend4。 (2)BreakingChange: GraphicsLayers的mouseeventhandler发生改变。 在1.x中,GraphicsLayer的mouseeventhandler的mouseeventhandler有三个参数: sender,graphic以及mouseevent。 但在创建Silverlight应用程序时这可能会导致编译错误或者警告。 错误如下: Nooverloadfor'MyGraphicsLayer_MouseLeftButtonUp'matchesdelegate'MouseButtonEventHandler' 为了修复这个错误,将参数设定为两个: sender以及Graphicsmouse二个参数。 GraphicsMouseButtonEventArgs就是为了适应这个变化而创建的。 比如,在1.x中,代码如下: · privatevoidGraphicsLayer_MouseLeftButtonUp(objectsender,ESRI.ArcGIS.Client.Graphicgraphic, · System.Windows.Input.MouseButtonEventArgsargs) · { · graphic.Selected=! graphic.Selected; · } 在2.0中,需要变成: privatevoidGraphicsLayer_MouseLeftButtonUp(objectsender,ESRI.ArcGIS.Client.GraphicMouseButtonEventArgse) { e.Graphic.Selected=! e.Graphic.Selected; } 如果要将1.x的程序,只需要编译程序,然后按照提示来更改就好了。 (3)BreakingChange: Graphic.Attributes类型变化了 Graphic.Attribute类型从System.Collections.Generic.Dictionary (4)GraphicsLayer A: Selections-在EditorClass中的一系列新的命令集合可以允许你选择要素。 使用SelectCommand,你可以定义空间选择模式,如新建选集,添加到选集以及删除选集。 选择模式定义了选择图层的绘制模式。 在选择GraphicsLayers的时候,只允许点选和框选。 ClearSelectionCommand允许你清除当前选集。 在GraphicsLayers,SelectedGraphics以及SelectionCount属性返回GraphicsLayers上被选中的Graphicsfeatures的相关信息。 每一个Graphicfeature都有一个被选择的属性以及Select和Unselect方法用于显示选择。 B: 编辑: featureLayer是可编辑的因为它代表了FeatureSevices中的可编辑图层。 你可以添加,更改以及删除要告辞包括它们相关的附件。 FeatureLayer可以自动保存或者显示按需保存编辑。 Undo/Redo在featureLayer中是不支持的。 C: 选集: 建立在GraphicsLayer之上,FeatureLayer选集通样可以通过Editor来管理,使用Select和ClearSelection命令。 FeatureLayers在交互选择要素时,支持所有的绘制模式。 选择可以用SelectionColor属性来可视化。 D: timeaware: MapControl包含了一个时间范围,以致于有时间意识的FeatureLayer可以按照指定的时间段来显示。 E: updates: 当FeatureLayer被重新得到时,UpdatesChanged事件可以被触发。 当Update失败时,UpdateFailed事件也会被触发。 F: outputfield: FeatureLayer的outputfield可以使用逗号将字段名序列分开。 对于Silverlightlibrary核心库的显示引用以及使用独立的stringelements来定义字段已经不再需要了。 OutputFields属性可以使用以下的语法来进行定义。 FeatureLayerID="CitiesFeatureLayer"Url="OutFields="CITY_NAME,POP1990"> SilverlightAPI学习笔记(四)-2 上一篇/下一篇 2010-06-1012: 58: 30/个人分类: ArcGISServer 查看(167)/评论(0)/评分(0/0) (5)使用FeatureLayer以及ArcGISServerFeatureServices来进行编辑 ArcGISServer10包含了新的一种服务,FeatureServices来支持模板类型编辑。 要使得FeatureLayer可编辑,它必须是ArcSDEGeodatabase中的一个FeatureLayer,并且通过FeatureServices发布出来。 AutoSave属性定义了保存是否即时保存还是显示存储和保存。 为了支持编辑,添加了一些工具包控件。 A: EditorWidget–默认的编辑接口,包含一个模板定位器(TemplatePicker),工具条以及属性编辑器。 B: 模板定位器(TemplatePicker): 显示了由FeatureServices所定义的模板集合用于创建新的要素。 C: FeatureDataGrid: 在1.x中就可用了,但是这个控件在2.0中得到增强,用于支持属性编辑。 D: FeatureDataForm.显示要素的可编辑字段。 当地图上,可以用于交互编辑时的Popup。 Editor保留以下Command集合: o Add-Drawandaddnewgraphics. o CancelActive-canceltheactivecommandonthemap. o ClearSelection-Unselectallgraphics. o Cut-usesageometryservicetocutgraphicsalongauserdefinedline o DeleteSelected-Deletesselectedgraphics.Ifgraphicsareassociatedwithaneditablefeaturelayer,featuresaredeletedfromthedatabase. o EditVertices-Editstheverticesofanygraphicclickedbytheuser. o Move-Clickanddragagraphictoanewlocation. o Reshape-usesageometryservicetoreshapegraphicswithauserdefinedline o Save-Commitsunsavededitsinallfeaturelayers. o Union-usesageometryservicetouniongraphicsselectedbytheuser. (5)时间意识 MapControl有一个timeextent属性用于有时间意识的图层。 ArcGISDynamicMapServciesLayer,FeatureLayer以及ArcGISImageServicesLayer可以是具有时间意识。 一个新的toolkit控件,TimeSilder提供了一个非常简单的方法来展示时序数据。 (6)新的GeometryServicesTask操作 在ArcGISServer10.0中包含了一系列对于GeometryServices新的增强的操作。 这些通过GeometryServicestask中新的方法来来提供,包括: 新的操作: AutoComplete(自动闭合),ConvexHell,Cut,Densify,Difference,Distance,Generalize,Intersect,Offset,Reshape,Trim/Extend以及Union。 Lengths操作支持output单位以及测地距离。 Areas和Lengths操作支持outputlength和area单位以及测地距离。 (7)新的RouteTask操作 在ArcGISServer10.0中,包含一系列关于网络分析的新的操作。 最近设施以及服务区范围分析都支持的。 (8)新的影像服务操作以及功能。 在ArcGIS
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Silverlight API学习笔记 API 学习 笔记