arcgis api for silverlight(行为和行动)

行为和行动

微软Expression Blend 4定义了一个标准的行为,这是可重复使用的打包代码,可以拖动到任何对象,通过更改其属性微调。行为允许您添加到您的应用程序的交互性,而无需编写任何代码。行为API由三个核心类:触发,动作和行为。的ArcGIS API for Silverlight中包含了一套行为和行动在ESRI.ArcGIS.Client.Behaviors程序集,可用于定义用户输入和地图的行为和内容的互动关系。

注意注:

要在您的应用程序中使用的行为和行动,您必须添加一个引用的System.Windows.Interactivity组件。该组件包含在Expression Blend的产品或Expression Blend中4 SDK(目前使用Expression Blend 4)。

在所有的代码下面的例子中,引用的System.Windows.Interactivity,ESRI.ArcGIS.Client,和ESRI.ArcGIS.Client.Behaviors组件添加到项目中,每一个命名空间引用添加到页面中

 

xmlns:esri="http://schemas.esri.com/arcgis/client/2009" xmlns:esriBehaviors="clr-namespace:ESRI.ArcGIS.Client.Behaviors;assembly=ESRI.ArcGIS.Client.Behaviors" xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"

行为

行为是由特定的控制一个触发器和行动,为。为Silverlight的ArcGIS API包含的所有行为与预定义的事件(触发)生成(行动)的结果在地图上。为您准备的行为,因此,您只需要添加一个行为,一个地图使用。下表列出了在地图上的行为,提供了描述,并为每个显示的代码示例:

 

行为

描述

代码示例。

ConstrainExtentBehavior

地图范围限制到信封。用户不能浏览外信封中定义的行为。

 

 

x:Name="MyMap" Extent="-120,30,-60,60"> . . .ConstrainedExtent="-120,30,-60,60"/>

 

MaintainExtentBehavior

维持目前的程度时,调整地图的大小。

 

x:Name="MyMap"> . . . />

ShowCoordinatesBehavior

显示地图坐标下的鼠标光标时,将鼠标指针悬停在地图上。

 

x:Name="MyMap"> . . . FormatString="{}{0:0.00} , {1:0.00}"/>

 

操作

一个动作是由一个触发器和一个目标。触发器是一个事件,比如一个按钮的点击事件。一个目标是使用或显示的动作的结果。为Silverlight的ArcGIS API包含的行动将始终目标的地图和它的内容。动作包括添加图形,导航地图,并使用图层。下表列出了可用的操作,提供了描述,并为每个显示的代码示例:

 

行动

描述

代码示例。

ClearGraphicsAction

清除所有的图形,在图形层。

 
EventName="Click"> GraphicsLayerID="MyGraphicsLayer"TargetName="MyMap" />

MeasureAction

显示测量距离,半径和地区。

 

EventName="Click"> AreaUnit="SquareMiles"DisplayTotals="True" DistanceUnit="Miles"MapUnits="DecimalDegrees" MeasureMode="Polygon"FillSymbol="{StaticResource DefaultFillSymbol}"TargetName="MyMap"/>

PanToAction

潘到指定的几何形状。

 
EventName="Click"> TargetName="MyMap"> X="-120" Y="43"/>

RedlineAction

在地图上绘制的图形,并把它们添加到图形层。

 
EventName="Click"> Color="#FF32FF00"DrawMode="Freehand" GraphicsLayerID="MyGraphicsLayer"TargetName="MyMap"/>

SpatialQueryAction

在地图上的查询功能,在功能层绘制几何。绘制的图形层的结果。

 

EventName="Click"> DrawMode="Rectangle"LayerID="MyGraphicsLayer"Url="http://myserver/ArcGIS/rest/myservice/MapServer/2"Symbol="{StaticResource GraphicsLayerFillSymbol}"TargetName="MyMap" />

ToggleLayerAction

切换一个层的可见性。

 
EventName="Click"> LayerID="MyDynamicLayer"TargetName="MyMap"/>

UpdateFeatureLayerAction

刷新一个功能层的内容。

 
EventName="Click"> FeatureLayerID="MyFeatureLayer"TargetName="MyMap" />

ZoomToAction

放大到指定的几何形状。如果几何体是一个点,在地图上会出锅。

 
EventName="Click"> TargetName="MyMap"> XMin="-110"YMin="40" XMax="-100" YMax="50" />

ZoomToFullExtentAction

缩放的最大范围内的所有层。

 
EventName="Click"> TargetName="MyMap"/>

ZoomToLayerAction

缩放到指定的层的程度。

 
EventName="Click"> LayerID="MyTileLayer"TargetName="MyMap"/>
原文地址:https://www.cnblogs.com/peter-pu/p/3616389.html