DeepEarth中的拖放行为(DragBehavior)

王朝学院·作者佚名  2010-01-28
窄屏简体版  字體: |||超大  

在DeepEarth中,地图的拖放行为用于规范用户在操作地图的时候的选择、移动和绘制等操作模型。DeepEarth以枚举结构将其封装在地图控件(Map)的内部,源代码如下:

代码

/// <summary>

/// 地图拖放行为

/// </summary>

public enum DragBehavior

{

/// <summary>

/// 鼠标成手型图标点在地图上拖放,地图的呈现随同鼠标的拖动进行移动并定位于鼠标释放的位置。

/// </summary>

Pan,

/// <summary>

///在地图上通过选择绘制出一个选框图形,当鼠标释放选择的时候将地图放大级别显示。

/// </summary>

Select,

/// <summary>

/// 在地图上绘制图形。

/// </summary>

Draw

}

在DeepEarth中的拖放行为默认被定义为鼠标拖放行为,当用户在所呈现的地图上操作地图的时候,鼠标成手型图标点在地图上拖放地图,当鼠标释放拖动并将地图定位于鼠标释放拖动的地图位置。默认的拖放行为在源代码中被定义为如下:

//地图拖放行为

private DragBehavior _DragMode = DragBehavior.Pan;

上面对地图的拖放行为进行了简单的描述,下面我们来看看如何在开发中使用地图的拖放行为,我们可以在界面上放置一个Button来做个实验,通过点击按钮实现切换地图拖放行为的功能:

代码

/// <summary>

/// 改变地图的拖放行为

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void btnDragBehavior_Click(object sender, RoutedEventArgs e)

{

//判断当前地图的拖放模式--实现两种模式之间切换

switch (mapInstance.DragMode)

{

case Map.DragBehavior.Pan:

mapInstance.DragMode = Map.DragBehavior.Select;

ToolTipService.SetToolTip(btnDragBehavior, "切换到选择放大模式");

btnDragBehavior.Content = "选择";

break;

case Map.DragBehavior.Select:

mapInstance.DragMode = Map.DragBehavior.Pan;

ToolTipService.SetToolTip(btnDragBehavior, "切换到拖放平移模式");

btnDragBehavior.Content = "拖放";

break;

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航