Condividi tramite


ResourceDictionary Classe

Definizione

Fornisce un'implementazione della tabella hash o del dizionario che contiene le risorse WPF usate dai componenti e da altri elementi di un'applicazione 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
Ereditarietà
ResourceDictionary
Derivato
Attributi
Implementazioni

Commenti

Gli elementi in un ResourceDictionary oggetto non vengono elaborati immediatamente quando il codice dell'applicazione viene caricato da un caricatore XAML. Al contrario, l'oggetto ResourceDictionary viene mantenuto come oggetto e i singoli valori vengono elaborati solo quando vengono richiesti in modo specifico.

La ResourceDictionary classe non è derivata da DictionaryBase. Al contrario, la ResourceDictionary classe implementa IDictionary ma si basa internamente su un Hashtable oggetto .

In XAML (Extensible Application Markup Language), la ResourceDictionary classe è in genere un elemento raccolta implicito che rappresenta il valore dell'elemento oggetto di diverse Resources proprietà, se specificato nella sintassi degli elementi proprietà. Per informazioni dettagliate sulle raccolte implicite in XAML, vedi Sintassi XAML in dettaglio. Un'eccezione è quando si desidera specificare un dizionario unito; per informazioni dettagliate, vedere Dizionari risorse uniti.

Un altro possibile utilizzo XAML consiste nel dichiarare un dizionario risorse come file XAML discreto e caricarlo in fase di esecuzione con Load o includerlo in un progetto (attendibilità completa) come risorsa o file libero. In questo caso, ResourceDictionary può essere dichiarato come elemento dell'oggetto, che funge da elemento radice del codice XAML. È necessario eseguire il mapping dei valori dello spazio dei nomi XML appropriati (impostazione predefinita per lo spazio dei nomi WPF e in x: genere per lo spazio dei nomi XAML) all'elemento ResourceDictionary se si prevede di usarlo come elemento radice. È quindi possibile aggiungere elementi figlio che definiscono le risorse, ognuno con un valore x:Key .

Utilizzo raccolta implicita XAML

<object>
  <object.resourcesProperty>
    oneOrMoreResources
  </object.resourcesProperty>
</object>

Valori XAML

resourcesProperty Proprietà che specifica un elemento proprietà, in cui il tipo di valore di tale proprietà è ResourceDictionary. In genere, si tratta della Resources proprietà di FrameworkElement o FrameworkContentElemento di in un caso di risorse dell'applicazione Application .

oneOrMoreResources Una o più risorse specificate come elementi oggetto. A ogni risorsa specificata deve essere assegnata una direttiva x:Key .

Costruttori

Nome Descrizione
ResourceDictionary()

Inizializza una nuova istanza della classe ResourceDictionary.

Proprietà

Nome Descrizione
Count

Ottiene il numero di voci nella base ResourceDictionary.

DeferrableContent

Ottiene o imposta il contenuto rinviabile per questo dizionario risorse.

InvalidatesImplicitDataTemplateResources

Ottiene o imposta un valore che indica se le invalidazioni generate dall'oggetto ResourceDictionary determinano ContentPresenter la rivalutazione della scelta del modello da parte degli oggetti. Le invalidazioni si verificano quando viene modificata una risorsa modello di dati implicita.

IsFixedSize

Ottiene un valore che indica se si tratta ResourceDictionary di dimensioni fisse.

IsReadOnly

Ottiene un valore che indica se l'oggetto ResourceDictionary è di sola lettura.

Item[Object]

Ottiene o imposta il valore associato alla chiave specificata.

Keys

Ottiene una raccolta di tutte le chiavi contenute in questo ResourceDictionaryoggetto .

MergedDictionaries

Ottiene una raccolta di ResourceDictionary dizionari che costituiscono i vari dizionari risorse nei dizionari uniti.

Source

Ottiene o imposta l'URI (Uniform Resource Identifier) da cui caricare le risorse.

Values

Ottiene una raccolta di tutti i valori associati alle chiavi contenute in questo ResourceDictionaryoggetto .

Metodi

Nome Descrizione
Add(Object, Object)

Aggiunge una risorsa per chiave a questo ResourceDictionaryoggetto .

BeginInit()

Inizia la fase di inizializzazione per questo ResourceDictionaryoggetto .

Clear()

Cancella tutte le chiavi (e i valori) nella base ResourceDictionary. In questo modo non vengono cancellati gli elementi del dizionario uniti.

Contains(Object)

Determina se contiene ResourceDictionary un elemento con la chiave specificata.

CopyTo(DictionaryEntry[], Int32)

Copia gli ResourceDictionary elementi in unidimensionale DictionaryEntry in corrispondenza dell'indice specificato.

EndInit()

Termina la fase di inizializzazione e invalida l'albero precedente in modo che tutte le modifiche apportate alle chiavi durante la fase di inizializzazione possano essere prese in considerazione.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
FindName(String)

Non supportato da questa implementazione del dizionario.

GetEnumerator()

Restituisce un oggetto IDictionaryEnumerator che può essere utilizzato per scorrere l'oggetto ResourceDictionary.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
OnGettingValue(Object, Object, Boolean)

Si verifica quando riceve ResourceDictionary una richiesta per una risorsa.

RegisterName(String, Object)

Non supportato da questa implementazione del dizionario.

Remove(Object)

Rimuove la voce con la chiave specificata dal dizionario di base.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
UnregisterName(String)

Non supportato da questa implementazione del dizionario.

Implementazioni dell'interfaccia esplicita

Nome Descrizione
ICollection.CopyTo(Array, Int32)

Per una descrizione di questo membro, vedere CopyTo(Array, Int32).

ICollection.IsSynchronized

Per una descrizione di questo membro, vedere IsSynchronized.

ICollection.SyncRoot

Per una descrizione di questo membro, vedere SyncRoot.

IEnumerable.GetEnumerator()

Per una descrizione di questo membro, vedere GetEnumerator().

IUriContext.BaseUri

Per una descrizione di questo membro, vedere BaseUri.

Metodi di estensione

Nome Descrizione
AsParallel(IEnumerable)

Abilita la parallelizzazione di una query.

AsQueryable(IEnumerable)

Converte un IEnumerable in un IQueryable.

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un IEnumerable al tipo specificato.

OfType<TResult>(IEnumerable)

Filtra gli elementi di un IEnumerable in base a un tipo specificato.

Si applica a

Vedi anche