首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> 關於.NET

WPF 二進位資源:內嵌流、BAML 與 ResourceManager

     編輯:關於.NET

二進位資源處理

並非所有資源適合以物件形式存放(如圖片、音訊、影片)。WPF 沿用 .NET 內嵌資源機制:在 Visual Studio 將檔案 Build Action 設為 Resource,編譯時複製內容至組件資源清單。執行期透過 Assembly.GetManifestResourceStream 讀取。

WPF 規約所有資源集中於單一資源清單 AppName.g.resources,透過 System.Resources.ResourceManager 存取。ResourceManager 在內嵌資源基礎上增加:當地語系化支援、單一流中按名稱儲存多個子流。

資源清單實例

典型專案包含 MyApp.xaml、Window1.xaml、Images/Sunset.jpg、Images/Wheel.jpg。建置後資源清單列出:

myapp.baml
window1.baml
image/wheel.jpg
image/sunset.jpg

XAML 中以相對 URL 引用:<Image Source="images/wheel.jpg" />,相對路徑同時適用於實體檔案與內嵌資源。

專案結構與屬性

BAML:XAML 的二進位表現

  • 體積較 XAML 小幅縮減。
  • 解析速度較 XML 快,加速 UI 載入。

專案中 Build Action = Page 的 XAML 檔案會編譯為 BAML 並內嵌。因圖片、BAML 皆走 ResourceManager,自然支援應用程式當地語系化。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved