1.滑动条

http://www.newnaw.com/pub/sl/031.html

<--!grid中的内容-->

<Grid x:Name="slidergrid" HorizontalAlignment="Left" VerticalAlignment="Center" Background="Azure" Margin="20">
        <StackPanel Orientation="Vertical">
            <Button x:Name="btnzoomin" Content="+" Click="btnzoomin_Click" />
            <Slider x:Name="sliderLOD" Orientation="Vertical"  Height="200" SmallChange="1" LargeChange="1"  Minimum="0" Cursor="Hand" ValueChanged="slider1_ValueChanged" />
            <Button x:Name="btnzoomout" Content="-" Click="btnzoomout_Click" />
        </StackPanel>
    </Grid>

cs文件后台代码

代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

using System.ComponentModel;

namespace customcontrol
{
public partial class mapslider : UserControl
{
private mymap map = new mymap();
public ESRI.ArcGIS.Map Map
{
get
{
return map.Map;
}
set
{
map.Map=value;
if (map.Map != null)
{
Map.ExtentChanged += new EventHandler<ESRI.ArcGIS.ExtentEventArgs>(map_ExtentChanged);
Map.SnapToLevels = true;
((ESRI.ArcGIS.ArcGISTiledMapServiceLayer)Map.Layers[0]).Initialized += new EventHandler<EventArgs>(layer0_initialized);
}

}
}

private void layer0_initialized(object o,EventArgs e)
{
sliderLOD.Maximum = ((ESRI.ArcGIS.ArcGISTiledMapServiceLayer)Map.Layers[0]).TileInfo.Lods.Length - 1;
}

public mapslider()
{
InitializeComponent();
}

private void slider1_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
if (map.Map!=null)
{
Map.ZoomToResolution(((ESRI.ArcGIS.ArcGISTiledMapServiceLayer)Map.Layers[0]).TileInfo.Lods[Convert.ToInt32(e.NewValue)].Resolution);
}
}

private void map_ExtentChanged(object o, ESRI.ArcGIS.ExtentEventArgs e)
{
ESRI.ArcGIS.ArcGISTiledMapServiceLayer layer = Map.Layers[0] as ESRI.ArcGIS.ArcGISTiledMapServiceLayer;
int i;
for (i = 0; i < layer.TileInfo.Lods.Length; i++)
{
if (Map.Resolution == layer.TileInfo.Lods[i].Resolution)
break;
}

sliderLOD.Value = i;
}

private void btnzoomin_Click(object sender, RoutedEventArgs e)
{
sliderLOD.Value += 1;
}

private void btnzoomout_Click(object sender, RoutedEventArgs e)
{
sliderLOD.Value -= 1;
}
}

//执行了这个接口后,当在主页面page.xaml.cs中给Map赋值的时候,就能返到set语句中,以便执行绑定事件的代码
public class mymap:INotifyPropertyChanged
{
private ESRI.ArcGIS.Map map;
public ESRI.ArcGIS.Map Map
{
get{return map;}
set
{
map = value;
if (PropertyChanged!=null)
{
PropertyChanged(this, new PropertyChangedEventArgs("Map"));
}
}
}

public event PropertyChangedEventHandler PropertyChanged;

}
}

转载于:https://www.cnblogs.com/hl3292/archive/2010/10/28/1863738.html

Widgets 整理相关推荐

  1. 【原创】CSSOO的思想及CSS框架的应用(未整理完)

    CSSOO的思想及CSS框架的应用 前语:通过这次研究分析总结,个人对CSSOO的概念及应用的思路也更明确一些,是一个和大家共同学习的过程. 一.CSS框架 框架目的: 给出一个相对规范的开发方法,给 ...

  2. 1月3日学习内容整理:modelform

    1.modelform本质上还是form组件 2.引入 from django.forms import  ModelForm 3.创建 class  Form(ModelForm): class   ...

  3. (整理)Ruby的基础知识

    xzyxuanyuan0我的:收件箱资源博客空间设置|帮助|退出 首页 业界 移动 云计算 研发 论坛 博客 下载 更多 千月星跡 アイをも求めて彷徨っている孤独なヒーロー 目录视图 摘要视图 订阅 ...

  4. flutter常用库整理

    目前除了官方提供的package和plugin库外,第三方开发者也开发了大量好用的开源工具,这里稍作整理以供查阅. 目录 基础库 控件库 插件库 三方SDK 其他 脚本工具 开源组织 dart仓库 参 ...

  5. Wordpress模板主题中functions.php常用功能代码与常用插件[ 后台篇](持续收集整理)

    用Wordpress建站的初学者一定会需要用到的Wordpress模板主题中functions.php常用功能代码与常用插件.慢慢持续收集整理....... 目录 一.Wordpress模板主题中fu ...

  6. Flutter 跨平台框架中的 Widgets,你了解多少?

    Widgets 是什么? Widgets 翻译成中文就是小插件的意思Widgets 是 Flutter 中用户界面的基础:你在 flutter 界面中能够观察到的用户界面,都是 Widgets 当然这 ...

  7. Android最牛的开源整理

    这是一个基本把github上所有优秀安卓的开源代码整理了,下面是都是转自https://github.com/Trinea/android-open-project,都是一些牛人,很有开源精神的达人做 ...

  8. Android常用开源库整理汇总

    1.基本控件 1.1.TextView ScrollNumber ReadMoreTextView HtmlImage android-autofittextview html-textview Ba ...

  9. 各式 Web 前端開發工具整理

    各式 Web 前端開發工具整理 這裡收集了一系列各式各樣與「網頁前端」相關的開發工具.函式庫與參考文件,這些工具僅針對一般桌上型/筆記型電腦的顯示環境為主 (不含平板或手機等行動版網頁相關工具). 程 ...

最新文章

  1. appium python框架结构,GitHub - wyybingo/python-appium: 基于PageObject UI自动化测试框架,支持Android/iOS...
  2. Linux设置界面或命令行启动
  3. Javascript 特效 转载
  4. Zabbix server is not running 报错的排查
  5. mysql sql优化书籍_MySQL SQL优化的正确姿势
  6. 仅用 []()+! 就足以实现几乎任意Javascript代码
  7. 当我们谈AI时,到底该谈什么?
  8. pycharm项目目录结构_「Actix-web项目」-项目整体目录结构
  9. PHP网站后台角色权限管理系统源码
  10. python操作注册表能干啥_转 python操作注册表模块_winreg
  11. HCIE Secuirty AC概述 备考笔记(幕布)
  12. 移动硬盘在服务器上读不出来怎么办,移动硬盘无法识别的usb设备怎么办
  13. 全网目前最全python例子(附源码)
  14. PSENet原理与代码解析
  15. 各大型网站反爬虫策略
  16. 揭秘中国球员十大豪宅
  17. 还儿童一个健康上网环境,正式开启我的路由器URL网址白名单之旅
  18. cnpm安装淘宝镜像
  19. 数据分析师未来发展前景如何?
  20. 游戏显示计算机丢失文件怎么办,Windows7系统玩游戏提示丢失d3d.dll文件如何解决...

热门文章

  1. 在Asp.Net中从sqlserver检索(retrieve)图片
  2. FFmpeg中AVDictionary介绍
  3. 【FFmpeg】ffmpeg命令详解(三)高级选项
  4. 【GStreamer】gstreamer工具详解之:ges-launch-1.0
  5. 制度汇编格式怎么生成目录_来自世界500强企业的管理表格DOC格式 1900套
  6. c语言函数调用编译等腰三角形,C语言如何输出带“*”的等腰三角形? – 手机爱问...
  7. 怎样在表格中选出同一类_超超超超实用的年会策划执行表格模板合集!
  8. 并发执行变成串行_一篇讲透如何理解数据库并发控制(纯干货)
  9. 三菱gs触摸屏进入设定菜单_三菱触摸屏常用功能设置 以及界面调整
  10. Java学习总结:12