wpf中的資源分為兩類:
其中,程式集資源指的是軟體開發中用到的,聲音,xml檔案等資源,這些資源被新增到專案中之後會被嵌入到編譯過得程式集中,會被編譯成二進位制資料。
而物件資源是一些.net物件,希望能夠一次定義多次使用,包括畫刷,樣式,模板等。
應用程式資源包括 ,音訊等應用程式需要使用的檔案,他們將被編譯為二進位制檔案,內嵌進應用程式中。
新增程式集資源需要兩步:
將需要的檔案新增到專案中
將build action設定為resource
在新增的時候需要注意兩點:
build action中還有乙個選項是 embedded resource(嵌入的資源)不能選擇這乙個
之前在winform的時代我們會將資源放到專案屬性的recource選項卡,wpf不支援這種操作,不能使用這種資源
// 檢索資源
// 方法1:最低階,不分資源型別
stream stream = sri.stream; // 獲取流
在使用的過程中一般是通過下面的方法
// 絕對路徑
// 相對路徑
我們之前使用的檔案,build action選擇了resource,其中還有其他選項,這裡我們再講一下內容選項,什麼樣的檔案需要選擇生成操作為內容呢?
需要注意的是,生成操作為內容的檔案,其複製到輸出目錄的選項應該改為始終複製,所以新增乙個內容資源需要下面兩步:
使用生成操作為content則檔案不會被編譯為二進位制,而是直接放置在相應的目錄之下。這一點在儲存一些應用程式要讀的json配置檔案的時候也可以靈活的運用。
我們在之前索引資源的時候用到了乙個uri,它是wpf中索引資源的唯一標識,我們需要學習一下uri的語法,才能夠使用的得心應手
uri分為絕對路徑,相對路徑,每種又分為本程式集,不是本程式集,下面總結一下:
本程式集中
// 絕對路徑
uri uri = new uri("/resource.xaml", urikind.relative);
不在本程式集中
// 絕對路徑
uri uri = new uri(""/referencedassembly;component/subfolder/resourcefile.xaml", urikind.relative");
總結起來就是:
component作為分號前面程式集的佔位符
相對路徑明顯比絕對路徑簡單
嵌入到應用程式的資源都可以被反編譯出來,使用reflector就可以反編譯出專案的baml以及使用的資源
WPF 四 Application4 程式集資源
wpf應用程式中的程式集資源和其他.net應用程式中的程式集資源在本質上是相同的。wpf程式集資源和其他應用程式中的程式集資源之間的重要區別是引用資源的定址系統不同。1.新增資源 可以通過向專案新增檔案,並將其build action屬性設定為resource。2.檢索資源 新增資源很簡單,檢索資源...
WPF高階教程(十)WPF程式的生命週期
建立 xmlns xmlns x 其中比較關鍵的是指定了startupuri關閉 事件處理 1.關聯事件處理程式 xaml cs檔案 2.直接複寫 protected override void onactivated eventargs e onsessionending方法如果監聽,設定e.ca...
WPF應用程式資源
資源是可以替換應用程式的不同位置重用的物件。wpf 支援資源具有不同的型別。這些資源是資源的主要兩種型別 xaml 資源和資源資料檔案。xaml 資源的示例包括畫筆和樣式。資源資料檔案是應用程式所需的不可執行的資料檔案。xaml 資源的示例包括畫筆和樣式。首先我們看一下在xaml中如何使用資源 在下...