Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Classe ResourceDictionary

Fornisce una tabella hash/implementazione di dizionario che contiene le risorse di WPF utilizzate dai componenti e da altri elementi di un'applicazione di WPF. 

Spazio dei nomi:  System.Windows
Assembly:  PresentationFramework (in PresentationFramework.dll)
XMLNS per XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

[LocalizabilityAttribute(LocalizationCategory.Ignore)]
[AmbientAttribute]
[UsableDuringInitializationAttribute(true)]
public class ResourceDictionary : IDictionary, 
	ICollection, IEnumerable, ISupportInitialize, IUriContext, INameScope
<object>
  <object.resourcesProperty>
    oneOrMoreResources
  </object.resourcesProperty>
</object>

Valor XAML

resourcesProperty

Una proprietà che specifica un elemento proprietà, in cui il tipo di valore di tale proprietà viene ResourceDictionary. In genere, si tratta della proprietà di Resources di FrameworkElement o di FrameworkContentElement, o di Application in una combinazione di risorse dell' applicazione.

oneOrMoreResources

Uno o più risorse specificate come elementi oggetto. Ogni risorsa specificato deve disporre di un assegnato Direttiva x:Key .

Il tipo ResourceDictionary espone i seguenti membri.

  NomeDescrizione
Metodo pubblicoResourceDictionaryInizializza una nuova istanza della classe di ResourceDictionary .
In alto

  NomeDescrizione
Proprietà pubblicaCountOttiene il numero di voci in ResourceDictionarydi base.
Proprietà pubblicaDeferrableContentInfrastruttura. Ottiene o imposta il contenuto deferrable per questo dizionario risorse.
Proprietà pubblicaIsFixedSizeDetermina se questo ResourceDictionary è di dimensioni fisse.
Proprietà pubblicaIsReadOnlyDetermina se questo ResourceDictionary è di sola lettura.
Proprietà pubblicaItem Ottiene o imposta il valore associato alla chiave specificata.
Proprietà pubblicaKeysOttiene una raccolta di tutte le chiavi contenute in questo ResourceDictionary.
Proprietà pubblicaMergedDictionariesOttiene una raccolta di dizionari di ResourceDictionary che costituiscono i vari dizionari risorse nei dizionari uniti.
Proprietà pubblicaSourceOttiene o imposta Uniform Resource Identifier (URI) per caricare le risorse da.
Proprietà pubblicaValues Ottiene una raccolta di tutti i valori associata alle chiavi contenute in questo ResourceDictionary.
In alto

  NomeDescrizione
Metodo pubblicoAddAggiunge una risorsa dalla chiave a questo ResourceDictionary.
Metodo pubblicoBeginInitinizia la fase di inizializzazione per questo ResourceDictionary.
Metodo pubblicoClearCancella tutte le chiavi (e i valori) in ResourceDictionarydi base. In questo modo non annulli tutte le voci del dizionario unite.
Metodo pubblicoContainsdetermina se ResourceDictionary contiene un elemento con la chiave specificata.
Metodo pubblicoCopyToCopia gli elementi di ResourceDictionary a DictionaryEntry unidimensionale l ' indice specificato.
Metodo pubblicoEndInitTermina la fase di inizializzazione e invalida la struttura ad albero precedente in modo che tutte le modifiche apportate alle chiavi durante la fase di inizializzazione possono essere rappresentate.
Metodo pubblicoEquals(Object) Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object)
Metodo protettoFinalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che l'oggetto stesso venga reclamato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblicoFindNameNon supportato da questa implementazione del dizionario.
Metodo pubblicoGetEnumeratorRestituisce IDictionaryEnumerator che può essere utilizzato per scorrere ResourceDictionary.
Metodo pubblicoGetHashCode Funge da funzione hash per un particolare tipo. (Ereditato da Object)
Metodo pubblicoGetType Ottiene il Type dell'istanza corrente. (Ereditato da Object)
Metodo protettoMemberwiseClone Crea una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo protettoOnGettingValuesi verifica quando ResourceDictionary riceve una richiesta per una risorsa.
Metodo pubblicoRegisterNameNon supportato da questa implementazione del dizionario.
Metodo pubblicoRemoveRimuove la voce con la chiave specificata dal dizionario di base.
Metodo pubblicoToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
Metodo pubblicoUnregisterNameNon supportato da questa implementazione del dizionario.
In alto

  NomeDescrizione
Metodo di estensione pubblicoAsParallelConsente la parallelizzazione di una query. (Definito da ParallelEnumerable).
Metodo di estensione pubblicoAsQueryableConverte un oggetto IEnumerable in un oggetto IQueryable. (Definito da Queryable).
Metodo di estensione pubblicoCast<TResult>Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato. (Definito da Enumerable).
Metodo di estensione pubblicoOfType<TResult>Filtra gli elementi di un oggetto IEnumerable in base a un tipo specificato. (Definito da Enumerable).
In alto

  NomeDescrizione
Implementazione esplicita dell'interfacciaMetodo privatoICollection.CopyToInfrastruttura. Per una descrizione del membro, vedere ICollection.CopyTo.
Implementazione esplicita dell'interfacciaProprietà privataICollection.IsSynchronizedInfrastruttura. Per una descrizione del membro, vedere ICollection.IsSynchronized.
Implementazione esplicita dell'interfacciaProprietà privataICollection.SyncRootPer una descrizione del membro, vedere ICollection.SyncRoot.
Implementazione esplicita dell'interfacciaMetodo privatoIEnumerable.GetEnumeratorInfrastruttura. Per una descrizione del membro, vedere IEnumerable.GetEnumerator.
Implementazione esplicita dell'interfacciaProprietà privataIUriContext.BaseUriPer una descrizione del membro, vedere IUriContext.BaseUri.
In alto

Gli elementi in ResourceDictionary immediatamente non vengono elaborati quando il codice dell' applicazione viene caricato da un caricatore di XAML . A il contrario, ResourceDictionary persiste come oggetto e i singoli valori vengono elaborati solo quando sono specificamente necessari.

la classe di ResourceDictionary non è derivata da DictionaryBase. A il contrario, i mezzi IDictionary della classe di ResourceDictionary ma si basa su Hashtable internamente.

In Extensible Application Markup Language (XAML), la classe di ResourceDictionary è in genere un elemento della raccolta implicita che è l'indice dell' elemento oggetto di diverse proprietà di Resources , quando sintassi per elementi proprietà arresa. Per informazioni dettagliate sulle librerie implicite in XAML, vedere Descrizione dettagliata della sintassi XAML. Un'eccezione è quando si desidera specificare un dizionario unito; per i dettagli, vedere Dizionari risorse uniti.

Un altro possibile utilizzo di XAML consiste nel dichiarare un dizionario risorse quali file discreto di XAMLe caricarlo in fase di esecuzione con Load o includerlo nel progetto (con attendibilità totale) di un oggetto come risorsa o a un file. In questo caso, ResourceDictionary può essere dichiarato come elemento oggetto, servente dall' elemento radice di XAML. È necessario eseguire il mapping dei valori appropriati dello spazio dei nomi XML (impostazione predefinita per lo spazio dei nomi e in genere x: di WPFper lo spazio dei nomi di XAML) sull' elemento di ResourceDictionary se si intende utilizzarlo come elemento radice. È quindi possibile aggiungere gli elementi figlio che definiscono le risorse, ciascuno con un valore di x: chiave .

In questo esempio viene illustrato come utilizzare le risorse delle applicazioni.

Nell'esempio seguente viene illustrato un file di definizione dell'applicazione (ADF). Questo file definisce una sezione delle risorse (un valore per la proprietà Resources). Le risorse definite a livello di applicazione sono accessibili da tutte le altre pagine che fanno parte dell'applicazione. In questo caso, la risorsa è uno stile dichiarato. Poiché uno stile completo che include un modello di controllo può richiedere molto tempo, in questo esempio viene omesso il modello di controllo definito all'interno del metodo di impostazione della proprietà ContentTemplate dello stile.


<Application.Resources>
  <Style TargetType="Button" x:Key="GelButton" >
    <Setter Property="Margin" Value="1,2,1,2"/>
    <Setter Property="HorizontalAlignment" Value="Left"/>
    <Setter Property="Template">
      <Setter.Value>


...


      </Setter.Value>
    </Setter>
  </Style>
</Application.Resources>


Nell'esempio seguente viene illustrata una pagina XAML che fa riferimento alla risorsa a livello di applicazione definita nell'esempio precedente. Il riferimento alla risorsa viene creato utilizzando un'Estensione del markup StaticResource che specifica la chiave di risorsa univoca per la risorsa richiesta. Nella pagina corrente non è stata rilevata alcuna risorsa con chiave "GelButton", pertanto l'ambito di ricerca per la risorsa richiesta continua oltre la pagina corrente e nelle risorse definite a livello di applicazione.


<StackPanel
  Name="root"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  >
  <Button Height="50" Width="250" Style="{StaticResource GelButton}" Content="Button 1" />
  <Button Height="50" Width="250" Style="{StaticResource GelButton}" Content="Button 2" />
</StackPanel>


.NET Framework

Supportato in: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Qualsiasi membro pubblico static (Shared in Visual Basic) di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2014 Microsoft