欲善其事先利其器。要做开发,第一步就得搭建环境。因为是在Siverlight基础上做开发,所以先得整理好Siverlight的开发环境。Silverlight并没有内建在VS2008中,而是作为add-on的形式附加的。在这里可以找到详细的安装步骤
1:安装vs2008
2:安装vs2008sp1补丁,见鬼了,开发一个东西光装软件就要花很多时间(还是arcgis flex方便开发)
3:Silverlight Tools for Visual Studio 2008 SP1 http://www.microsoft.com/downloads/details.aspx?FamilyId=c22d6a7b-546f-4407-8ef6-d60c8ee221ed&displaylang=en
4:安装arcgis silverlight api http://resources.esri.com/arcgisserver/apis/silverlight/ 注册一个帐号,下载
不过vs2008不支持silverlight界面开发只能看,不能控件拖拉,
要实现拖拉功能也要使用Expression Blend 3 + SketchFlow http://www.microsoft.com/expression/products/Blend_Overview.aspx
在下个破解补丁就可以了
不过使用感觉也没有flex设计方面,可能是我使用不好吧,我还是初学者
安装好以后
新建工程
1、VS2008中,新建project,选择Silverlight Application;
2、在出现的提示框中选择Add a new ASP.NET Web project to the solution to hostSilverlight;(Silverlight程序与flash一样,相当于网页中的一个插件。第一个选项是将Silverlight嵌入到一个ASP.NET网站中,第二个选项是将Silverlight嵌入到一个临时的html页面中)
3、添加Silverlight API的引用:与.NET程序开发一样,add reference(注意是在Silverlight工程上而不是ASP.NET工程上),找到从ESRI下载的API,选择添加ESRI.ArcGIS.Client;
ESRI.ArcGis.Client.Behaviors,ESRI.ArcGis.Client.Bing,ESRI.ArcGis.Client.Toolkit
在开始添加命名空间xmlns:esri="clr-namespace:ESRI.ArcGIS;assembly=ESRI.ArcGIS"
<UserControl x:Class="SilverlightApplication1.Page"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:esri="clr-namespace:ESRI.ArcGIS;assembly=ESRI.ArcGIS"
>
<Grid x:Name="LayoutRoot" Background="White">
<esri:Map x:Name="mymap">
<esri:ArcGISTiledMapServiceLayer ID="layerworldmap"
Url="http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_Imagery_World_2D/MapServer" />
</esri:Map>
</Grid>
</UserControl>
可能你还没有看到效果同,flash一样,Silverlight对跨域访问也做了严格的限制。要解决这个问题,下一个名为clientaccesspolicy.xml的文件放到,比如C:/Inetpub/wwwroot中即可
可以看看网上的实例,适合初学者学习,在开始--程序--ArcGIS API for Microsoft Silverlight-WPF v1.2--ArcGIS API for Microsoft Silverlight WPF Help
就可以看到使用效果了