Silverlight API学习笔记.docx

上传人:b****8 文档编号:30119849 上传时间:2023-08-05 格式:DOCX 页数:36 大小:509KB
下载 相关 举报
Silverlight API学习笔记.docx_第1页
第1页 / 共36页
Silverlight API学习笔记.docx_第2页
第2页 / 共36页
Silverlight API学习笔记.docx_第3页
第3页 / 共36页
Silverlight API学习笔记.docx_第4页
第4页 / 共36页
Silverlight API学习笔记.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

Silverlight API学习笔记.docx

《Silverlight API学习笔记.docx》由会员分享,可在线阅读,更多相关《Silverlight API学习笔记.docx(36页珍藏版)》请在冰豆网上搜索。

Silverlight API学习笔记.docx

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变成System.Collections.Generic.IDictionary

(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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 水产渔业

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1