Partager via


Comment : utiliser un dictionnaire de ressources de portée application

Mise à jour : novembre 2007

Cet exemple indique comment utiliser un dictionnaire de ressources personnalisé de portée application.

Exemple

Application expose un magasin de portée d'application pour les ressources partagées : Resources. Par défaut, Resources est initialisé avec une instance de type ResourceDictionary. Vous utilisez cette instance lorsque vous obtenez et définissez des propriétés de portée application à l'aide de la propriété Resources (voir Comment : obtenir et définir des ressources de portée application).

Si vous disposez des plusieurs ressources que vous définissez à l'aide de Resources, vous pouvez utiliser à la place un dictionnaire de ressources personnalisé pour stocker ces ressources et vous en servir à la place pour définir Resources. Vous déclarez un dictionnaire de ressources personnalisé à l'aide de la balise, comme suit :

<ResourceDictionary
    xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml" >
    <SolidColorBrush x:Key="StandardSolidColorBrush" Color="White" />
    <LinearGradientBrush x:Key="StandardLinearGradientBrush" StartPoint="0.0,0.0" EndPoint="1.0,1.0">
        <LinearGradientBrush.GradientStops>
            <GradientStop Color="White" Offset="0" />
            <GradientStop Color="Black" Offset="1" />
        </LinearGradientBrush.GradientStops>
    </LinearGradientBrush>
</ResourceDictionary>

L'échange de dictionnaires de ressources entiers à l'aide de Resources vous permet de prendre en charge des thèmes de portée application, où chaque thème est encapsulé par un dictionnaire de ressources unique. Consultez l'exemple Application à thème.

Pour obtenir des ressources de portée application du dictionnaire de ressources exposé par Resources, qu'il soit créé par Application ou par vous, requiert un code similaire à celui-ci :

// Get an application-scope resource
Brush whiteBrush = (Brush)Application.Current.Resources["ApplicationScopeResource"];

Il y a deux considérations à faire lors de l'utilisation de Resources. En premier lieu, la clé de dictionnaire est un objet, vous devez donc utiliser exactement la même instance d'objet lors du paramétrage et de l'obtention d'une valeur de propriété (notez que la clé respecte la casse lors de l'utilisation d'une chaîne). En second lieu, la valeur de dictionnaire est un objet, vous devrez donc la convertir en type souhaité lors de l'obtention d'une valeur de propriété.

Voir aussi

Référence

ResourceDictionary

Resources