天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

Silverlight 資源的使用

我們在Silverlight 項目中,新加一個文件,比如一個圖片文件,這個文件的屬性會有下面2個選項,這兩個選項決定了這個圖片資源如何存儲,如何使用。

先說簡單的,資源文件的 Copy to OutPut Directory 屬性, 這個屬性有如下三個選項:

他們都是在程序編譯或者部署時,判斷此資源文件是否要同步用的。

Do not copy不做數(shù)據(jù)同步
Copy always每次都會被同步過去
Copy if newer當(dāng)有新版本存在時,才會被同步過去

Build Action 屬性則復(fù)雜多了, 下面是VS2010中, Silverlight 4 項目資源文件的Build Action 屬性截圖。

注意,上面羅列了一些不適合資源文件的 Build Action 屬性,在使用資源文件時,可以忽略這些。

None資源既不會被集成到程序集內(nèi),也不會打包到xap包中。不過我們可以通過設(shè)置CopyToOutputDirectory選項讓其自動拷貝到xap包所在目錄。
這種情況下,訪問這個圖片的相對Uri需要以"/"開始。

適用場景:

在大多數(shù)情況下,我們希望把video/audio文件放到xap的外面,因為這種文件一般都比較大,會影響silverlight應(yīng)用的加載,而且一般的視頻音頻文件都是壓縮格式的,放到xap中也不會起到減少他們文件大小的作用。
類似圖片視頻這種資源文件生成操作為None時和他們沒有被添加到項目里是一樣的,都可以用絕對Uri進(jìn)行引用。

Compile不適合用于資源文件。
類文件要用"Compile"生成操作,就是指項目里.cs或.vb文件。
Content資源會被打包在Xap包里面。
這種情況下,訪問這個圖片的相對Uri需要以"/"開始。
在這種方式下,如果沒有在xap中找到圖片文件,那么silverlight會自動從當(dāng)前xap應(yīng)用所在的文件夾下來找所需圖片文件,
如果還沒有找到那么就觸發(fā)ImageFailed事件,
這種方式比較適合在多個程序集引用相同文件時采用。
Embedded Resource

這種方式會把文件嵌入到程序集中,silverlight無法通過Uri引用在xaml和c#里對這個文件進(jìn)行使用,微軟不建議在silverlight采用這種方式在程序集里嵌入資源。
如果有這種需求可以用
Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream(string path)相關(guān)的方法得到文件的stream引用。

ApplicationDefinition

silverlight程序的入口xaml文件(默認(rèn)就是App.xaml)應(yīng)該設(shè)置為這個"應(yīng)用定義"。其他文件都不適合用這個。

Page不適合用于資源文件。
所有的用戶控件,頁面和子窗體(usercontrol/page/childwindow)的xaml文件應(yīng)該采用的生成操作。
如果改為別的方式那么會導(dǎo)致后臺對應(yīng)的代碼文件無法鏈接到這個xaml文件。采用"Page" build action時xaml里的錯誤會導(dǎo)致工程無法正確生成。
CodeAnalysisDictionary代碼分析使用,Silverlight中可以忽略
Resource資源會被打包在程序集內(nèi)部。
選擇這種生成方式后,該資源文件會被嵌入到該應(yīng)用的程序集中,就是說打開生成的xap是看不到這個文件的。

可以用相對于當(dāng)前的XAML文件的相對Uri訪問,
如<Image Source="silverlight.png"/>
或是<Image Source="./silverlight.png"/>,

在子文件夾里的可以用
<Image Source=”./images/sl.jpg”/>訪問到。

最保險的方式是采用特有的程序集資源URI訪問,格式為
<Image Source="/{assemblyShortName};component/Foo.jpg"/>,

這種方式還可以引用到xap中的其他程序集中的圖片。

這種生成方式的系統(tǒng)資源可以直接用Application.GetResourceStream(uri).Stream在代碼里來得到。

SplashScreen

"SplashScreen"是這個選項是WPF的啟動畫面使用的。  silverlight啟動加載畫面是用的其他方式實現(xiàn)的,所以在silverlight里不要用這個方式。

EntityDeploy這個是EntityFramework采用的生成方式,在silverlight里是沒用。

參考資料:

分析silverlight里的URI引用資源文件的各種情況

http://bbs.blueidea.com/viewthread.php?tid=2941697

Silverlight圖片相對路徑的設(shè)置

http://www.cnblogs.com/yangfan/archive/2009/12/14/1623647.html

關(guān)于Silverlight資源文件(如:圖片)的放置位置及其引用(相對路徑)

http://www.cnblogs.com/star250/archive/2009/10/15/1583665.html

Silverlight資源文件

http://msdn.microsoft.com/zh-cn/library/cc296240(VS.95).ASPx

圖片等資源的引用路徑問題

http://www.cnblogs.com/kevinyang/archive/2008/11/16/1334712.html

NET技術(shù)Silverlight 資源的使用,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 雪恋电影完整版免费观看 | 伊人久久精品线影院 | china年轻小帅脸直播飞机 | 欧美卡1卡2卡三卡2021精品 | 欧美精品专区免费观看 | 恋夜秀场支持安卓版全部视频国产 | 久草免费视频在线观看 | 呻吟翘臀后进爆白浆 | 99久久免费看少妇高潮A片 | 99在线在线视频观看 | 亚洲精品一二三区-久久 | 一本道久在线综合色色 | gay台湾无套男同志xnxⅹ | 国产91网站在线观看免费 | qvod伦理片| 亚洲AV综合99一二三四区 | 亚洲国产日韩a精品乱码 | 婷婷四房播客五月天 | 久草高清在线 | 久久九九亚洲精品 | 中文字幕99香蕉在线 | 国产精品一国产精品免费 | A片毛片免费视频在线看 | 热久久免费频精品99热 | 日韩欧美群交P内射捆绑 | 日本人六九视频 | 国产亚洲精品久久久久 | 日本国产精品无码一区免费看 | 成人在免费观看视频国产 | 精品国产品在线18年 | 果冻传媒9CM在线观看 | 国产成人无码精品久久久按摩 | 好紧好湿太硬了我太爽了小说 | 好湿好滑好硬好爽好深视频 | 羞羞漫画免费漫画页面在线看漫画秋蝉 | 闺蜜撬开我的腿用黄瓜折磨我 | 国产a级黄色毛片 | 做暖暖视频在线看片免费 | 特大黑人娇小亚洲女mp4 | 热久久伊大人香蕉网老师 | 久久精品视频15人人爱在线直播 |