SilverLight+Expression Designer实现对地图特定区域的操作
首先给大家看下我的研究成果:
如果你想使用silverlight对地图进行自己想要的区域操作,笔者想到了三种方法实现:1,使用图片拼接的方式,直接在xaml文件中把图片初始化就可以实现(这是最常规的方法);2,访问Arcgis地图的方式(https://www.esri.com/zh-cn/home),因为这个方式涉及到的东西比较多,所以有兴趣的朋友自己去查看官方API;3,就是使用Expression Designer生成XAML的方式,其实跟方法1是同样的实现思路,但是笔者觉得这种方法比较实用,开发也比较简便。接下来就跟大家介绍下我的实现。
步骤一:下载Expression Designer。相信很多人都是第一次使用这个软件,Expression Designer是一个专业的设计工具,可以直接生成XAML文件。笔者使用的是Expression Designer 4(下载地址https://www.microsoft.com/en-us/download/details.aspx?id=36180)。
步骤二:把想要操作的图片拉到Expression Designer中,新建图层(也就是右下角Layers板块垃圾桶旁边的按钮),如下图
步骤三:在图层上描点,笔者是使用Pen选择想要操作的区域的边缘,最后画成一个封闭的图形即可。然后需要使用Direct Select 对边缘修整,最重要的一点(笔者到处XMAL文件不成功的原因)就是要对图层进行填充颜色,颜色可以自己用取色器获取也可以在右上角Appearance面板选择渐变颜色。以下是图片展示。
步骤四:导出XAML文件,File->Export然后按照下图设置就可以导出完整的XAML文件:
步骤五:用Visual Studio(笔者是用vs2015)新建一个SilverLight工程,并把导出来的画布Canvas内容复制到XAML文件中(记得把图片放到工程里面)。
以上就是全部制作步骤,笔者最后是使用ToolTipService.ToolTip当鼠标移动到Path上面的时候显示提示信息,使用MouseLeftButtonUp事件触发点击时间,更多的功能开发就要靠大家根据自己的需求发掘了!谢谢大家的阅读!