Silverlight中文件的生成操作与其对应的获取方法
文件生成操作:
Silverlight里的資源文件(圖片、視頻、字體、XML、XAML等) 生成操作屬性選擇不同選項(xiàng)時(shí),文件的生成方式和存儲(chǔ)位置會(huì)有相應(yīng)變化,下面說(shuō)一下幾個(gè)常用的選項(xiàng):
1、 Page:一般xaml文件都用這個(gè)。
2、 Compile:一般cs文件都用這個(gè)
3、 ApplicationDefinition:一般程序入口文件都用這個(gè)(默認(rèn)為App.xaml)
4、 Resource:
一般程序里的資源文件設(shè)置成Resource狀態(tài)時(shí),編譯之后文件會(huì)被嵌進(jìn)程序集(dll)中, dll們放在xap包里。(可以用Reflector.exe看一下dll的內(nèi)容,一看便知)。
5、 Content:
一般程序里的資源文件設(shè)置成Content狀態(tài)時(shí),編譯之后文件不會(huì)被嵌進(jìn)程序集(dll)中,而是放在dll外,與dll們一起放在xap包里。(可以把xap包解壓縮,一看便知)。
小結(jié):
最后兩個(gè)選項(xiàng)是最常用的,個(gè)人覺(jué)得掌握了這兩種一般應(yīng)用就夠了,其他的選項(xiàng)不是很常用,如有特殊需要可以去MSDN家找找看。
?
文件獲取方法:
下面以圖片為例說(shuō)一下各種文件的獲取方法:在工程里添加一個(gè)文件夾Images,然后添加一張圖片background.jpg。
1、 background.jpg的生成操作屬性選擇 Resource時(shí),編譯后將被嵌在程序集(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時(shí),將被生成在程序集(dll)外,以文件形式存在于xap包里,獲取方式如下:
<Image Source="/Images/background.jpg"></Image>
3、 background.jpg以文件形式存在于ClientBin文件夾里,獲取方式如下:
<Image Source="/Images/background.jpg"></Image>
?
歸納一下以上幾種獲取文件的方法:
1、 相對(duì)路徑:
1)?? 前加“./”:<Image Source="./Images/background.jpg"></Image>
2)?? 前加“../”:<Image Source="../Images/background.jpg"></Image>
3)?? 不加任何前導(dǎo)符:<Image Source="Images/background.jpg"></Image>
4)?? 前加“/”:<Image Source="/Images/background.jpg"></Image>
前三種寫(xiě)法相對(duì)路徑根目錄為程序集(dll),默認(rèn)在程序集里找圖片。第二種路徑前加“../”的情況,應(yīng)用在子文件引用父文件夾里圖片時(shí)。第四種寫(xiě)法也是相對(duì)路徑,但是根目錄為xap包,默認(rèn)在dll所在xap包里找圖片。
以上四種情況如果在dll或者xap包里找不到圖片,有個(gè)回退機(jī)制控制程序去ClientBin里找圖片,如果還沒(méi)找到就報(bào)錯(cuò)。
2、 指定程序集
<Image Source="/SilverlightApplication1;component/Images/background.jpg"></Image>
這種情況指定在某程序集里找圖片,如果找不到就報(bào)錯(cuò),不會(huì)去其他地方找。
3、 絕對(duì)路徑
<Image Source="http://img1.cache.netease.com/cnews/2009/10/7/200910070216124029d.jpg"></Image>
這種情況就無(wú)所謂了,圖片有就是有,沒(méi)有就報(bào)錯(cuò)。
4、 代碼獲取
在cs代碼里用程序?qū)崿F(xiàn)獲取圖片也很簡(jiǎn)單,路徑的寫(xiě)法與上述三種一樣,例如:
BitmapImage bitmapImage = new BitmapImage();
bitmapImage.UriSource = new Uri("Images/background.jpg", UriKind.RelativeOrAbsolute);
this.img.Source = bitmapImage;
轉(zhuǎn)載于:https://www.cnblogs.com/yqy3310/archive/2009/10/09/1579458.html
總結(jié)
以上是生活随笔為你收集整理的Silverlight中文件的生成操作与其对应的获取方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: C#实现一个用于开机启动其他程序的Win
- 下一篇: winsock select