首页 > Silverlight中文件的生成操作与其对应的获取方法

Silverlight中文件的生成操作与其对应的获取方法

文件生成操作:

Silverlight里的资源文件(图片、视频、字体、XMLXAML) 生成操作属性选择不同选项时,文件的生成方式和存储位置会有相应变化,下面说一下几个常用的选项:

1、 Page:一般xaml文件都用这个。

2、 Compile一般cs文件都用这个

3、 ApplicationDefinition一般程序入口文件都用这个(默认为App.xaml)

4、 Resource

一般程序里的资源文件设置成Resource状态时,编译之后文件会被嵌进程序集(dll)中, dll们放在xap包里。(可以用Reflector.exe看一下dll的内容,一看便知)。

5、 Content

一般程序里的资源文件设置成Content状态时,编译之后文件不会被嵌进程序集(dll)中,而是放在dll外,与dll们一起放在xap包里。(可以把xap包解压缩,一看便知)。

小结:

最后两个选项是最常用的,个人觉得掌握了这两种一般应用就够了,其他的选项不是很常用,如有特殊需要可以去MSDN家找找看。

 

文件获取方法:

下面以图片为例说一下各种文件的获取方法:在工程里添加一个文件夹Images,然后添加一张图片background.jpg

1、 background.jpg的生成操作属性选择 Resource时,编译后将被嵌在程序集(dll)里,获取方式如下:

<Image Source="./Images/background.jpg">Image>

<Image Source="../Images/background.jpg">Image>

<Image Source="Images/background.jpg">Image>

<Image Source="/SilverlightApplication1;component/Images/background.jpg">Image>

2、 background.jpg的生成操作属性选择 Content时,将被生成在程序集(dll)外,以文件形式存在于xap包里,获取方式如下:

<Image Source="/Images/background.jpg">Image>

3、 background.jpg以文件形式存在于ClientBin文件夹里,获取方式如下:

<Image Source="/Images/background.jpg">Image>

 

归纳一下以上几种获取文件的方法:

1、 相对路径:

1)   前加“./”:<Image Source="./Images/background.jpg">Image>

2)   前加“../”:<Image Source="../Images/background.jpg">Image>

3)   不加任何前导符:<Image Source="Images/background.jpg">Image>

4)   前加“/”:<Image Source="/Images/background.jpg">Image>

前三种写法相对路径根目录为程序集(dll),默认在程序集里找图片。第二种路径前加“../”的情况,应用在子文件引用父文件夹里图片时。第四种写法也是相对路径,但是根目录为xap包,默认在dll所在xap包里找图片。

以上四种情况如果在dll或者xap包里找不到图片,有个回退机制控制程序去ClientBin里找图片,如果还没找到就报错。

2、 指定程序集

<Image Source="/SilverlightApplication1;component/Images/background.jpg">Image>

这种情况指定在某程序集里找图片,如果找不到就报错,不会去其他地方找。

3、 绝对路径

<Image Source="http://img1.cache.netease.com/cnews/2009/10/7/200910070216124029d.jpg">Image>

这种情况就无所谓了,图片有就是有,没有就报错。

4、 代码获取

cs代码里用程序实现获取图片也很简单,路径的写法与上述三种一样,例如:

BitmapImage bitmapImage = new BitmapImage();

bitmapImage.UriSource = new Uri("Images/background.jpg", UriKind.RelativeOrAbsolute);

this.img.Source = bitmapImage;

转载于:https://www.cnblogs.com/yqy3310/archive/2009/10/09/1579458.html

更多相关:

  • #include                        #include #include #include    ...

  • # 调整图像亮度input_image = cv2.cvtColor(input_image , cv2.COLOR_BGR2HSV)input_image [:, :, 2] = scale_value * input_image [:, :, 2]input_image [:, :, 2][input_image [:, :, 2...

  • area_center_gray ( Regions, Image : : : Area, Row, Column )    计算Image图像中Region区域的面积Area和重心(Row,Column)。 cooc_feature_image ( Regions, Image : : LdGray, Direction : En...

  • 1、显示一幅二值图像: >> bw = zeros(90,90); >> bw(2:2:88,2:2:88) = 1; >> imshow(bw); >> 2、利用image函数显示一幅索引图像:   >> [X,MAP] = imread('E:STUDY_softwareMatlab2016images11.jp...

  • iOS 相册和网络图片的存取 保存 UIImage 到相册 UIKit UIKit 中一个古老的方法,Objective-C 的形式 void UIImageWriteToSavedPhotosAlbum(UIImage *image, id completionTarget, SEL completionSelector, void...

  • [问题] 在使用学习wxPython时,一个Dem抱有如题所示错误 [解决] images 只不过是wxpython自带demo中的一个文件 体验wxpython IN action的时候ImportError: No module named images替换为import wx.py.images as images将 ima...