网站导航免费论文 原创论文 论文搜索 作业答案 网学软件 学术大家 资料中心 会员中心 问题解答 定作论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 设计资源 > Silverlight > 正文
Silverlight如何定位图片
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: Admin 发布时间: 10/07/20

程序代码:分析
从问题本质来说,大家忽略了Silverlight应用程序是嵌入到网页中的一个独立的应用程序,这点是寻求问题的关键,而一般程序对资源文件的使用无非是uri的定位问题,而在uri定位中最常犯的错误就是绝对定位和相对定位问题,这里是问题的症结所在。

解决
1、 编译成资源

首先我们看一下程序结构

首先我们必须将a1.jpg添加到项目中来。这样才能使用它的Build Action属性

1) 编译成Resource

该选项则直接将该图片编译成程序集中

程序代码:

System.Windows.Media.Imaging.BitmapImage bitmapImage = new System.Windows.Media.Imaging.BitmapImage();  

bitmapImage.UriSource = new Uri("images/a1.jpg", UriKind.Relative);  

image1.Source = bitmapImage;

注意:此处在“images/a1.jpg”前面不要加“/”,因为和程序集没有相对位置可言。

2) 编译成None,并将“Copy to Output Directory”设置为Copy always,此时不会编译到xap文件里面,而是编译到ClientBin目录下。

奇怪的狠,编译的时候没有将该资源复制到ClientBin目录下,如下

所以这时候我们必须人工将images目录拷贝到ClientBin目录下,这时候程序中的代码必须是“/images/a1.jpg”。

3) 编译成Content,“Copy to Output Directory”设置为所谓

此时images作为一个单独的目录存在于xap包中,可以被xap包中的所有程序集共享使用,对于这些程序集而言还是相对目录,所以仍然需要“/images/a1.jpg”格式来访问。

2、 引用网站资源

在实际应用中我们往往需要用到网站应用程序目录下图像信息,此时可以参考如下代码,一看就知。

System.Windows.Media.Imaging.BitmapImage bitmapImage = new System.Windows.Media.Imaging.BitmapImage();  

bitmapImage.UriSource = new Uri(HtmlPage.Document.DocumentUri, "/images/a1.jpg");  

//bit.UriSource = new Uri( "http://localhost:7871/images/a1.jpg");(一般用于跨网站访问)  

//bit.UriSource = new Uri( "http://localhost:7871/images/a1.jpg",UriKind.Absolute);(一般用于跨网站访问)  

image1.Source = bitmapImage;
  • 下一篇资讯: Silverlight3的新功能
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 电话:013574892963 QQ:3710167 邮箱:Educs@163.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 Www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号