小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

wpf中內(nèi)置資源文件

 ThinkTank_引擎 2014-01-17
wpf中包含三種文件類型
  • 資源文件:編譯到可執(zhí)行或庫 WPF 程序集中的數(shù)據(jù)文件。

  • 內(nèi)容文件:與可執(zhí)行 WPF 程序集具有顯式關(guān)聯(lián)的獨(dú)立數(shù)據(jù)文件。

  • 源站點(diǎn)文件:與可執(zhí)行 WPF 程序集沒有關(guān)聯(lián)的獨(dú)立數(shù)據(jù)文件。


這三種類型的文件之間的一個(gè)重要區(qū)別是:資源文件和內(nèi)容文件在生成時(shí)是已知的;程序集明確地知道它們的存在。但是對于源站點(diǎn)文件,程序集可能完全不知道它們,或者通過 pack 統(tǒng)一資源標(biāo)識(shí)符 (URI) 引用知道它們的存在;在后一種情況下,不能保證被引用的源站點(diǎn)文件實(shí)際存在。


說說資源文件的使用

如果應(yīng)用程序數(shù)據(jù)文件必須始終可供某個(gè)應(yīng)用程序使用,那么保證可用性的唯一方法是將其編譯到應(yīng)用程序的主可執(zhí)行程序集中,或者它所引用的程序集中。這種類型的應(yīng)用程序數(shù)據(jù)文件稱為“資源文件”。

應(yīng)在以下情況下使用資源文件:


步驟:
1.選擇一個(gè)文件當(dāng)中資源文件,隨便的txt,xml,圖片都可以的
2.添加到vs項(xiàng)目中。點(diǎn)擊右鍵可以看到其中的action(生成操作)選項(xiàng)要是“resources”
3.然后寫一個(gè)方法來讀取內(nèi)容
//我是添加了一個(gè)sn.txt文件當(dāng)中資源文件,然后就是讀取其中內(nèi)容而言,比較簡單
   Uri uri = new Uri("/sn.txt", UriKind.Relative);//這個(gè)就是所以的pack uri。
            StreamResourceInfo info = Application.GetResourceStream(uri);
            Stream s = info.Stream;
            byte[] buffer = new byte[2014];
            s.Read(buffer, 0,100);
            string x = Encoding.GetEncoding("gb2312").GetString(buffer);
            MessageBox.Show(x);

4編譯以后。生成文件就是一個(gè)exe文件。可以把exe文件放到隨便的一個(gè)地方。。都可以正常讀取sn.txt文件。因?yàn)閟n.txt文件已經(jīng)被內(nèi)置到exe中了

2.內(nèi)容文件的使用

內(nèi)容文件是作為松散文件與可執(zhí)行程序集一起分發(fā)的。雖然它們不編譯到程序集中,但編譯程序集時(shí)所使用的元數(shù)據(jù)建立了與每個(gè)內(nèi)容文件的關(guān)聯(lián)。

如果應(yīng)用程序需要一組特定的應(yīng)用程序數(shù)據(jù)文件,并且您希望能夠更新這些文件,而無需重新編譯使用它們的程序集,則應(yīng)該使用內(nèi)容文件。

操作步驟和資源文件很類似。也是添加一個(gè)文件到vs中

但是要將“生成操作”設(shè)置為“內(nèi)容”,還要將“復(fù)制到輸出目錄”設(shè)置為“始終復(fù)制”或者更新復(fù)制

代碼也很一樣

參考上面的資源文件列子

StreamResourceInfo info = Application.GetContentStream(url);//GetResourceStream(uri);


第三源站點(diǎn)文件

資源文件與同其一起分發(fā)的程序集有顯式關(guān)系,這一關(guān)系由 AssemblyAssociatedContentFileAttribute 定義。但是,有些情況下可能需要在程序集和應(yīng)用程序數(shù)據(jù)文件之間建立隱式關(guān)系或不存在的關(guān)系,這些情況包括:

使用傳統(tǒng)的 URI 方案可以加載這些類型的文件,如 file:/// 和 http:// 方案。

<Image Source="file:///C:/DataFile.bmp" />
<Image Source="http://www./DataFile.bmp" />

源站點(diǎn)文件的操作前面的類似

添加到vs中文件的“生成操作”設(shè)置為“none”
或無
讀取方法使用GetRemoteStream

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多