一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

Silverlight 資源的使用

我們?cè)赟ilverlight 項(xiàng)目中,新加一個(gè)文件,比如一個(gè)圖片文件,這個(gè)文件的屬性會(huì)有下面2個(gè)選項(xiàng),這兩個(gè)選項(xiàng)決定了這個(gè)圖片資源如何存儲(chǔ),如何使用。

先說(shuō)簡(jiǎn)單的,資源文件的 Copy to OutPut Directory 屬性, 這個(gè)屬性有如下三個(gè)選項(xiàng):

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

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

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

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

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

適用場(chǎng)景:

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

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

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

ApplicationDefinition

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

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

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

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

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

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

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

SplashScreen

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

EntityDeploy這個(gè)是EntityFramework采用的生成方式,在silverlight里是沒(méi)用。

參考資料:

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

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

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

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

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

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

Silverlight資源文件

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

圖片等資源的引用路徑問(wèn)題

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

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

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

主站蜘蛛池模板: 亚洲一区免费视频 | 男人女人做刺激视频免费 | 国产成人午夜精品5599 | 国产剧情一区二区 | 2021色噜噜狠狠综曰曰曰 | 国产热视频 | 激情视频激情图片激情小说 | 好吊妞视频998www | 综合久久网 | 国产精品久久久亚洲第一牛牛 | 精品国免费一区二区三区 | 伊人精品久久久大香线蕉99 | 欧美岛国 | 国产精品制服诱惑 | 美女很黄很黄是免费的·无遮挡网站 | 免费激情网站 | 香蕉一区二区三区观 | 天天综合五月天 | 国产久热精品 | 手机看片自拍自拍自拍 | 亚洲精品第一国产综合高清 | 天天综合视频网 | 小视频免费在线观看 | 中文字幕一区中文亚洲 | 国产亚洲欧洲精品 | 婷婷色中文字幕 | 成年色黄大色黄大片 视频 成年视频xxxxxx在线 | 午夜亚洲国产 | 国产一区二区免费在线 | 美女视频一区二区三区在线 | 国产精品一区二 | 不卡视频一区 | 国产xxxxx在线播放 | 青青国产成人久久91 | 免费一级做a爰片性色毛片 免费一看一级毛片人 | 国产高清一区二区三区四区 | 欧美日韩在线观看视频 | 伊人精品视频在线 | 久久国产精品99久久久久久老狼 | 九九九九九九精品免费 | 欧美综合视频在线观看 |