Application.Resources Proprietà

Definizione

Ottiene una raccolta di risorse con ambito applicazione, ad esempio stili, modelli e pennelli.

ResourceDictionary Resources();

void Resources(ResourceDictionary value);
public ResourceDictionary Resources { get; set; }
var resourceDictionary = application.resources;
application.resources = resourceDictionary;
Public Property Resources As ResourceDictionary
<Application>
  <Application.Resources>
    oneOrMoreResourceElements
  </Application.Resources>
</Application>
 

Valore della proprietà

Oggetto ResourceDictionary contenente zero o più risorse con ambito applicazione.

Esempio

In questo esempio viene illustrato come dichiarare una risorsa specifica dell'app, ovvero questa crea un'istanza comune della classe convertitore proveniente dai modelli di avvio. Aggiunge quindi un elemento della proprietà Application.MergeDictionary con gli elementi ResourceDictionary all'interno, ognuno che fa riferimento a un file XAML tramite URI come Origine.

<Application.Resources>
    <ResourceDictionary>
      <common:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/> 
      <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="rd1.xaml" />
        <ResourceDictionary Source="rd2.xaml" />
      </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
  </Application.Resources>

Commenti

Il modello di dizionario risorse nella Windows Runtime supporta molti dei concetti relativi alle risorse XAML che è possibile acquisire familiarità con se sono state create applicazioni usando Windows Presentation Foundation (WPF) o Microsoft Silverlight. Per altre informazioni, vedere Riferimenti alle risorse ResourceDictionary e XAML.

Le risorse definite nel ResourceDictionary che riempie l'elemento della proprietà sono disponibili per il Application.Resources recupero da qualsiasi pagina dell'app. Questo è vantaggioso se molte delle pagine dell'app usano tutte la stessa risorsa. Ad esempio, se si dispone di una risorsa SolidColorBrush usata per le combinazioni di colori nell'interfaccia utente dell'app e tale colore viene usato nella maggior parte delle pagine, è consigliabile dichiarare che SolidColorBrush nell'oggetto Application.Resources usato per Application.Resources.

Quando si aggiungono risorse a Application.Resources, aggiungerle prima o dopo qualsiasi oggetto esistente ResourceDictionary.MergedResources. Le regole di XAML non consentono di inserire contenuto su entrambi i lati di un tag di elemento proprietà. Per altre informazioni, vedere Guida alla sintassi XAML.

Note per le versioni precedenti

Ottimizzazione del caricamento delle risorse in Windows 8.1

A partire da Windows 8.1, è disponibile un'ottimizzazione del caricamento delle risorse abilitata dal modello di app e dal parser XAML Windows Runtime. Per Windows 8, il parser XAML ha caricato le risorse da app.xaml e le ha create come oggetti come parte dell'avvio. Non era molto efficiente se c'erano grandi dizionari. Inoltre, queste risorse includevano gli elementi necessari per tutti e tre i temi e due dei tre temi non sarebbero nemmeno attivi. A partire da Windows 8.1, il parser XAML crea solo le risorse quando vengono richieste in modo specifico. La richiesta potrebbe venire da altre risorse o da app o XAML di pagina quando ognuna viene caricata. Questo comportamento del parser riduce al minimo il tempo necessario per leggere il dizionario a livello di app in fase di avvio e consente alla prima pagina dell'app di caricare più velocemente nella maggior parte dei casi. Le risorse necessarie per altri temi attualmente inattivi vengono caricate solo se tale tema viene scelto per diventare il tema attivo dall'utente. In quel momento, qualsiasi risorsa in cui è stata usata l'estensione di markup {ThemeResource} per la richiesta viene ricalcolata in base al tema appena attivo.

Comportamento di Windows 8

Windows 8 non hanno avuto le ottimizzazioni descritte in precedenza. ResourceDictionary per Application.Resources dover completare l'analisi prima di qualsiasi pagina diversa dalla schermata iniziale potrebbe caricare nella finestra dell'app. A causa di questo è possibile che vengano visualizzate alcune differenze in tempi quando si ritargete l'app per Windows 8.1. L'app deve essere caricata più velocemente, tuttavia potrebbe non essere possibile isolare questo miglioramento rispetto ad altre modifiche apportate al codice dell'app come parte della retargeting. Alcune delle posizioni in cui potrebbero verificarsi modifiche di intervallo a causa del caricamento ottimizzato delle risorse includono quando i costruttori vengono chiamati dal parser, per oggetti come oggetti , convertitori o altre classi personalizzate. Le app create per Windows 8 che vengono eseguite in Windows 8.1 continuano a usare il comportamento di Windows 8.

Per altre informazioni sul fattore di risorse XAML e sulle prestazioni, vedere Ottimizzare il markup XAML.

Si applica a

Vedi anche