一、資源字典分類
WPF應用程序中,XAML資源分爲StaticResource(靜態資源) 和 DynamicResource(動態資源)
Windows8應用中,XAML資源僅支持StaticResource(靜態資源)
資源應用域不同,XAML資源可分爲FrameworkElement.Resources和 Application.Resources 。1.FrameworkElement.Resources是將資源對象應用於同一個對象數的不同對象 上,稱之爲頁面資源,通常被定義在XAML頁面根元素上。2.Application.Resources是貫穿整個應用級別的資源,通常被定義在App.xaml頁面
二、FrameworkElement.Resources(頁面資源字典)
三、Application.Resources(貫穿整個應用級別的資源)
步驟一:創建資源字典
創建一個資源字典,如Dictionary1,然後開始編輯資源。
步驟二:集成資源
要使用資源字典,首先要將資源字典集成到應用程序的某些資源集合中。
一般的做法都是在app.xaml文件中進行集成。如:
ResourceDictionary 類:提供一個哈希表/字典實現,其中包含組件所使用的 WPF 資源以及 WPF 應用程序的其他元素。
Count屬性:
獲取基中的條目數 ResourceDictionary。
DeferrableContent屬性:
此 API 支持 產品 基礎結構,不應從代碼直接使用。 獲取或設置此資源字典可推遲的內容。
IsFixedSize屬性:
獲取是否這 ResourceDictionary 具有固定大小。
IsReadOnly屬性:
獲取是否這 ResourceDictionary 是隻讀的。
Item[Object]屬性:
獲取或設置與給定的鍵關聯的值。
Keys屬性:
獲取集合中包含的所有鍵 ResourceDictionary。
MergedDictionaries屬性:
獲取一套 ResourceDictionary 構成合並字典中的各種資源字典的字典。
Source屬性:
獲取或設置要從中加載資源的 統一資源標識符 (URI)。
Values屬性:
獲取包含在此鍵與相關聯的所有值的集合 ResourceDictionary。
步驟三:使用資源字典
集成之後就可以在當前的工程中使用這些資源了,使用資源的方法比較簡單隻需要使用StaticResource 關鍵字去添加即可。如:
在 System空間下,可以使用xmlns:sys="clr-namespace:System;assembly=mscorlib"> 來引入命名空間,就跟using一樣
總結:
使用資源字典的主要原因有兩個:
提供style功能。
存儲需要被本地話的內容(錯誤消息字符串等,實現軟編碼)