随笔分类 - Silverlight
Silverlight开发
摘要:Silverlight程序在访问非本域资源时,需要在相应的域根目录下建立跨域访问策略文件才能进行访问。文件名:clientaccesspolicy.xml文件内容: 此例是允许一切访问请求,具体限制请自行配置。MSDN文档:http://msdn.microsoft.com/zh-cn/library/cc645032(v=vs.95).aspx
阅读全文
摘要:这里介绍的是一种利用WebClient手动发送Stream到服务器页面的上传文件方法。 一、服务器接收文件 这里使用一个ASHX页面来接收和保存Silverlight传来的Stream,页面代码如下: using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.W...
阅读全文
摘要:因为Silverlight是运行在浏览器中的客户端,所以对于程序的操作权限要求比较严格,以本篇的主题来说,一个表现就是不能够随意的进行文件打开和保存操作,如果在代码中直接使用Stream来操作文件,会报权限不足的异常。但是Silverlight并不是不能操作文件,如果需要打开和保存文件,需要使用Silverlight提供的打开和保存文件对话框。 打开文件对话框: OpenFileDialo...
阅读全文
摘要:这里主要介绍三种方式:1、将文件编译进dll;2、打包在XAP中;3、放在XAP包外,其所在目录下。 这里就将三张图片以不同的方式调用来作为例子: 一、编译进DLL 默认情况下,复制到项目中的资源都是以这种形式与代码一起生成的。 这时,资源文件属性中的生成操作需要设置为“Resource”。 如何在程序中使用? BitmapImage bmp1 = new BitmapImag...
阅读全文
摘要:这里所说的导航其实就是在Silverlight的页面之间前进后退以及跳转。通过Frame控件配合后台NavigationService类可以很容易的做到页面之间的导航。 这就是工具箱中的Frame控件了,就把它当作一个控件用就行了,将其拖放到设计视图中,大小任意。如果想将整个应用程序的显示空间全部用于Frame内容的显示,那就铺满整个区域。如果只是想一部分作为显示跳转,那么可以将其大小位置根...
阅读全文
摘要:在Silverlight中引用WCF服务时报警告导致出错: 自定义工具警告: 没有找到与 Silverlight 5 兼容的端点。生成的客户端类将不可用,除非通过构造函数提供端点信息。 解决:去掉那个画×的选项(重新使用引用的程序集中的类型),不知道为啥。
阅读全文
摘要:在上一篇自定义Tile系统中,Tile系统的Uri是固定写死在程序中的,这样如果修改的话就会造成程序需要重新生成,那么如何可以动态改变Uri呢?本篇介绍的方法就是通过网页在Silverlight初始化前向其传递参数。 1、准备参数 因为Silverlight程序是需要以网页为载体,所以向Silverlight传递参数的工作就需要网页来完成了,这里就使用WebForm作为示例,使用web.con...
阅读全文
摘要:10 自定义Tile系统 本篇将介绍如何建立自己的Tile系统,并在Bing Maps中使用。 这里的Tile数据是使用MapCruncher工具获得,具体使用请参看:http://www.cnblogs.com/xwgli/archive/2013/04/27/3046166.html 在获得Tile数据后,就可以开始了。因为自定义的Tile系统是使用的Bing Maps Tile Sys...
阅读全文
摘要:9 自定义导航工具栏 请先阅读:以下所有对于工具栏的按钮的添加将在这个事件中进行处理。 首先,在页面构造函数中,添加以下事件的处理函数: public MainPage(){ InitializeComponent(); //自定义导航条 map.MapForeground.TemplateApplied += delegate(object sender, EventAr...
阅读全文
摘要:8 “鹰眼”地图 在电子地图中,用于显示当前窗口在全图中的位置,当前窗口换图时,鹰眼自动进行相应变化。鹰眼进行漫游。通过改变鹰眼中窗口位置可改变相应的主窗口地图显示区域。——百度百科 实现鹰眼地图实际上就是一个小尺寸的Bing Maps控件,并利用 7 自定义显示范围 中的自定义Map Mode 限制地图的缩放级别和显示范围。 首先,自定义一个适用于小尺寸地图显示的Mode,通过继承并限制C...
阅读全文
摘要:6 离线使用 在笔记第一部分的时候就提到如果要使用Bing Maps Silverlight Control 进行开发,需要申请一个key,不让会显示一个错误提示出来。但是在实际开发或使用过程中,使用环境和地图数据可能不是在线的,但控件因为验证失败仍然会显示以下内容: 如何去掉这个提示?最简单的方式就是自己扩展一个Map控件,在其构造方法中将错误提示层给干掉,然后再项目中使用自定义的Map...
阅读全文
摘要:5 自定义瓦片源 1、使用LocationRectTileSource自定义加载使用quadkey的瓦片源 就以必应在线地图为例,在控件中加载海南附近的必应地图(简体中文)。 首先,分析必应地图的Tile系统的Uri,这里就简单的使用Internet Explore自带的开发人员工具做示例: 通过分析(怎么分析的……)可以看出,必应地图(简体中文)的Tile系统Uri的格式大概是: ...
阅读全文
摘要:4 自定义标记 1、添加图钉(Pushpin)。可以在XAML中的m:Map控件标签中直接加入Pushpin标签进行图钉的添加,其中的Location是图钉的经纬度坐标:<m:Pushpin Location="33.845881352,105.165628188471"></m:Pushpin>并且可以直接在设计视图中预览,效果如下:还可以使用Pushpin类可以在Bing Maps控件上添加一...
阅读全文
摘要:3 基本控制 1、控制地图加载模式。Bing Maps的图层主要有普通道路(RoadMode)和卫星图(AerialMode),其中卫星图还可以选择是否加载标记(Labels)信息。地图控件显示模式的变更示例代码如下: //1.普通地图模式this.map.Mode = new RoadMode();//2.卫星图模式类有两个构造函数// 其一是不传任何参数进去,直接显示卫星图// publi...
阅读全文
摘要:1 准备 1.1、到http://www.bingmapsportal.com/申请一个开发Key; 1.2、到http://www.microsoft.com/en-us/download/details.aspx?id=2949下载 Bing Maps Silverlight Control SDK ; 1.3、下载完成后进行安装。 2 新建 2.1、新建一个Silver...
阅读全文
摘要:如何在代码中调用项目资源? 在写Uri时: new Uri("/Silverlight;component/images/hand.png", UriKind.RelativeOrAbsolute)其中,/Silverlight是项目名称,component/后面是相对项目根目录的资源路径。如何屏蔽Silverlight自己的右键菜单?在相应元素的MouseRightButtonDown中将...
阅读全文