Silverlight中文件的生成操作与其对应的获取方法
文件生成操作:
Silverlight里的資源文件(圖片、視頻、字體、XML、XAML等) 生成操作屬性選擇不同選項時,文件的生成方式和存儲位置會有相應變化,下面說一下幾個常用的選項:
1、 Page:一般xaml文件都用這個。
2、 Compile:一般cs文件都用這個
3、 ApplicationDefinition:一般程序入口文件都用這個(默認為App.xaml)
4、 Resource:
一般程序里的資源文件設置成Resource狀態(tài)時,編譯之后文件會被嵌進程序集(dll)中, dll們放在xap包里。(可以用Reflector.exe看一下dll的內容,一看便知)。
5、 Content:
一般程序里的資源文件設置成Content狀態(tài)時,編譯之后文件不會被嵌進程序集(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代碼里用程序實現(xiàn)獲取圖片也很簡單,路徑的寫法與上述三種一樣,例如:
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
總結
以上是生活随笔為你收集整理的Silverlight中文件的生成操作与其对应的获取方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#实现一个用于开机启动其他程序的Win
- 下一篇: winsock select