Condividi tramite


ResourceDictionary Classe

Definizione

Fornisce un'implementazione di tabella hash/dizionario contenente le risorse WPF usate dai componenti e dagli 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 non vengono elaborati immediatamente quando il codice dell'applicazione viene caricato da un caricatore XAML. Invece, il ResourceDictionary valore persiste come oggetto e i singoli valori vengono elaborati solo quando vengono richiesti in modo specifico.

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

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

Un altro utilizzo XAML possibile consiste nel dichiarare un dizionario di risorse come file XAML discreto e caricarlo in fase di esecuzione o Load includerlo in un progetto (trust completo) come risorsa o file libero. In questo caso, ResourceDictionary può essere dichiarato come elemento 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 genere x: 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 della sintassi XAML per raccolte implicite

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

Valori XAML

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

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

Costruttori

ResourceDictionary()

Inizializza una nuova istanza della classe ResourceDictionary.

Proprietà

Count

Ottiene il numero di voci contenute nell'oggetto ResourceDictionary di base.

DeferrableContent

Ottiene o imposta il contenuto prorogabile per questo dizionario risorse.

InvalidatesImplicitDataTemplateResources

Ottiene o imposta un valore che indica se gli annullamenti di convalida attivati dall'oggetto ResourceDictionary causano la rivalutazione della scelta del modello degli oggetti ContentPresenter. Gli annullamenti della convalida si verificano quando una risorsa di un modello di dati implicito viene modificata.

IsFixedSize

Ottiene un valore che indica se ResourceDictionary è di dimensione fissa.

IsReadOnly

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

Item[Object]

Ottiene o imposta il valore associato alla chiave data.

Keys

Ottiene un insieme di tutte le chiavi contenute in ResourceDictionary.

MergedDictionaries

Ottiene una raccolta dei dizionari ResourceDictionary 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 un insieme di tutti i valori associati alle chiavi contenute in ResourceDictionary.

Metodi

Add(Object, Object)

Aggiunge una risorsa in base alla chiave a ResourceDictionary.

BeginInit()

Inizia la fase di inizializzazione per ResourceDictionary.

Clear()

Cancella tutte le chiavi e i valori nell'oggetto di base ResourceDictionary. Non vengono cancellati elementi del dizionario unito.

Contains(Object)

Determina se ResourceDictionary contiene un elemento con la chiave specificata.

CopyTo(DictionaryEntry[], Int32)

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

EndInit()

Termina la fase di inizializzazione e invalida la struttura ad albero precedente in modo tale 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 di Dictionary.

GetEnumerator()

Restituisce un oggetto IDictionaryEnumerator utilizzabile per scorrere ResourceDictionary.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

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

Si verifica quando l'oggetto ResourceDictionary riceve una richiesta per una risorsa.

RegisterName(String, Object)

Non supportato da questa implementazione di Dictionary.

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 di Dictionary.

Implementazioni dell'interfaccia esplicita

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

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato.

OfType<TResult>(IEnumerable)

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

AsParallel(IEnumerable)

Consente la parallelizzazione di una query.

AsQueryable(IEnumerable)

Converte un oggetto IEnumerable in un oggetto IQueryable.

Si applica a

Vedi anche