ResourceDictionary 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供哈希表/字典實作,其中包含元件和其他 WPF 應用程式元素所使用的 WPF 資源。
public ref class ResourceDictionary : System::Collections::IDictionary, System::ComponentModel::ISupportInitialize, System::Windows::Markup::INameScope, System::Windows::Markup::IUriContext
[System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)]
public class ResourceDictionary : System.Collections.IDictionary, System.ComponentModel.ISupportInitialize, System.Windows.Markup.INameScope, System.Windows.Markup.IUriContext
[System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)]
[System.Windows.Markup.Ambient]
[System.Windows.Markup.UsableDuringInitialization(true)]
public class ResourceDictionary : System.Collections.IDictionary, System.ComponentModel.ISupportInitialize, System.Windows.Markup.INameScope, System.Windows.Markup.IUriContext
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
type ResourceDictionary = class
interface IDictionary
interface ICollection
interface IEnumerable
interface INameScope
interface ISupportInitialize
interface IUriContext
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
[<System.Windows.Markup.Ambient>]
[<System.Windows.Markup.UsableDuringInitialization(true)>]
type ResourceDictionary = class
interface IDictionary
interface ICollection
interface IEnumerable
interface ISupportInitialize
interface IUriContext
interface INameScope
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
[<System.Windows.Markup.Ambient>]
[<System.Windows.Markup.UsableDuringInitialization(true)>]
type ResourceDictionary = class
interface ICollection
interface IEnumerable
interface IDictionary
interface ISupportInitialize
interface INameScope
interface IUriContext
Public Class ResourceDictionary
Implements IDictionary, INameScope, ISupportInitialize, IUriContext
- 繼承
-
ResourceDictionary
- 衍生
- 屬性
- 實作
備註
當應用程式程式碼由 XAML 載入器時,這些 ResourceDictionary 項目不會立即被處理。 相反地,該 ResourceDictionary 值會以物件形式存在,且個別值僅在被特別請求時才被處理。
該 ResourceDictionary 類別並非由 推導而來 DictionaryBase。 相反地,該ResourceDictionary類別實IDictionary作但內部依賴 。Hashtable
在可擴充應用標記語言(XAML)中,類別 ResourceDictionary 通常是隱含的集合元素,當屬性元素語法中給出時,是多個 Resources 屬性的物件元素值。 關於 XAML 中隱式集合的詳細資訊,請參見 XAML 語法詳細說明。 例外是你想指定合併字典;詳情請參見 合併資源字典。
另一種可能的 XAML 用途是將資源字典宣告為獨立的 XAML 檔案,並在執行時 Load 載入或將其作為資源或鬆散檔案納入(完全信任)專案中。 此時, ResourceDictionary 可以宣告為物件元素,作為 XAML 的根元素。 如果你打算將 XML 命名空間值作為根元素,必須將適當的 XML 命名空間值(WPF 命名空間預設值,XAML 命名空間通常 x: 也會被映射)到該 ResourceDictionary 元素上。 接著你可以加入子元素來定義資源,每個元素的 x:Key 值。
XAML 隱性集合的使用
<object>
<object.resourcesProperty>
oneOrMoreResources
</object.resourcesProperty>
</object>
XAML 值
資源性質 一個指定屬性元素的屬性,其中該屬性的值型態為 ResourceDictionary。 通常,這是Resources應用資源案例中 的FrameworkElementFrameworkContentElement屬性或 ,或 的Application屬性。
oneOrMore資源 一個或多個資源指定為物件元素。 你指定的每個資源都必須指派一個 x:Key 指令 。
建構函式
| 名稱 | Description |
|---|---|
| ResourceDictionary() |
初始化 ResourceDictionary 類別的新執行個體。 |
屬性
| 名稱 | Description |
|---|---|
| Count |
取得底數 ResourceDictionary的條目數。 |
| DeferrableContent |
取得或設定這個資源字典的可延期內容。 |
| InvalidatesImplicitDataTemplateResources |
取得或設定一個值,指示物件所觸發 ResourceDictionary 的無效化是否會使 ContentPresenter 物件重新評估其範本的選擇。 當隱含的資料範本資源變更時,就會發生無效化。 |
| IsFixedSize |
判斷這是 ResourceDictionary 不是固定大小。 |
| IsReadOnly |
判斷這是 ResourceDictionary 不是唯讀。 |
| Item[Object] |
取得或設定與該金鑰相關的值。 |
| Keys |
取得包含於此 ResourceDictionary的所有鍵的集合。 |
| MergedDictionaries |
取得組成合併詞典中各種資源字典的詞典集合 ResourceDictionary 。 |
| Source |
取得或設定統一資源識別碼(URI)以載入資源。 |
| Values |
取得包含於此 ResourceDictionary鍵的所有值集合。 |
方法
| 名稱 | Description |
|---|---|
| Add(Object, Object) |
透過鍵新增資源。ResourceDictionary |
| BeginInit() |
開始此初始 ResourceDictionary化階段。 |
| Clear() |
清除基底 ResourceDictionary中的所有鍵(及值)。 這不會清除任何合併字典項目。 |
| Contains(Object) |
判斷是否 ResourceDictionary 包含具有指定鍵的元素。 |
| CopyTo(DictionaryEntry[], Int32) |
將 ResourceDictionary 元素複製到指定索引的一維 DictionaryEntry 空間。 |
| EndInit() |
結束初始化階段,並使前一棵樹失效,讓初始化階段中所有對鍵的變更都能被納入考量。 |
| Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
| FindName(String) |
此字典實作不支援。 |
| GetEnumerator() |
回傳 和 IDictionaryEnumerator 可用來遍歷 。ResourceDictionary |
| GetHashCode() |
做為預設哈希函式。 (繼承來源 Object) |
| GetType() |
取得目前實例的 Type。 (繼承來源 Object) |
| MemberwiseClone() |
建立目前 Object的淺層複本。 (繼承來源 Object) |
| OnGettingValue(Object, Object, Boolean) |
當 收到 ResourceDictionary 資源請求時,會發生這種情況。 |
| RegisterName(String, Object) |
此字典實作不支援。 |
| Remove(Object) |
從基礎字典中移除指定金鑰的條目。 |
| ToString() |
傳回表示目前 物件的字串。 (繼承來源 Object) |
| UnregisterName(String) |
此字典實作不支援。 |
明確介面實作
| 名稱 | Description |
|---|---|
| ICollection.CopyTo(Array, Int32) |
關於此成員的描述,請參見 CopyTo(Array, Int32)。 |
| ICollection.IsSynchronized |
關於此成員的描述,請參見 IsSynchronized。 |
| ICollection.SyncRoot |
關於此成員的描述,請參見 SyncRoot。 |
| IEnumerable.GetEnumerator() |
關於此成員的描述,請參見 GetEnumerator()。 |
| IUriContext.BaseUri |
關於此成員的描述,請參見 BaseUri。 |
擴充方法
| 名稱 | Description |
|---|---|
| AsParallel(IEnumerable) |
啟用查詢的平行處理。 |
| AsQueryable(IEnumerable) |
將 IEnumerable 轉換成 IQueryable。 |
| Cast<TResult>(IEnumerable) |
將 IEnumerable 的項目轉換成指定的型別。 |
| OfType<TResult>(IEnumerable) |
根據指定的型別篩選 IEnumerable 的專案。 |