Application.Resources Propriété

Définition

Obtient ou définit une collection de ressources de portée application, telles que des styles et des pinceaux.

public:
 property System::Windows::ResourceDictionary ^ Resources { System::Windows::ResourceDictionary ^ get(); void set(System::Windows::ResourceDictionary ^ value); };
public System.Windows.ResourceDictionary Resources { get; set; }
[System.Windows.Markup.Ambient]
public System.Windows.ResourceDictionary Resources { get; set; }
member this.Resources : System.Windows.ResourceDictionary with get, set
[<System.Windows.Markup.Ambient>]
member this.Resources : System.Windows.ResourceDictionary with get, set
Public Property Resources As ResourceDictionary

Valeur de propriété

ResourceDictionary

Objet ResourceDictionary qui contient zéro ou plusieurs ressources de portée application.

Attributs

Exemples

Cet exemple montre comment utiliser XAML avec des ressources d’étendue d’application pour créer une apparence visuelle cohérente. Le premier exemple est à partir d’App.xaml ; deuxièmement, à partir de MainWindow.xaml.

<Application
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    StartupUri="MainWindow.xaml"
    >

  <Application.Resources>
    <SolidColorBrush x:Key="BackgroundColor" Color="Yellow"></SolidColorBrush>
  </Application.Resources>

</Application>
<Window
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="ApplicationResourcesSnippetSample_XAML" 
    Height="300" 
    Width="300" 
    Background="{StaticResource BackgroundColor}"
    >
  <Grid>
    <!-- Additional XAML. -->
  </Grid>
</Window>

L’exemple suivant montre comment définir une ressource d’application dans le code et le code XAML (dans le fichier App.xaml dans un projet WPF C# ou le fichier Application.xaml dans un projet WPF Visual Basic).

// Set an application-scope resource
Application.Current.Resources["ApplicationScopeResource"] = Brushes.White;
' Set an application-scope resource
Application.Current.Resources("ApplicationScopeResource") = Brushes.White
<Application
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    x:Class="SDKSample.App"
    StartupUri="MainWindow.xaml" 
    Startup="App_Startup" 
    Exit="App_Exit">
    <Application.Resources>
        <SolidColorBrush x:Key="ApplicationScopeResource" Color="White"></SolidColorBrush>
    </Application.Resources>
</Application>

L’exemple suivant montre comment obtenir une ressource d’application dans le code.

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

Remarques

La Resources propriété peut être utilisée pour partager des ressources entre les fenêtres et les éléments d’une application. En outre, la Resources propriété est incluse dans le chemin de recherche de ressources, qui est parcourue dans l’ordre suivant :

  1. Éléments

  2. Windows

  3. Application.Resources

  4. Système

Par conséquent, les éléments d’interface utilisateur peuvent se lier aux ressources d’étendue de l’application. En outre, si les ressources changent, le système de ressources garantit que les propriétés d’élément liées à ces ressources sont automatiquement mises à jour pour refléter la modification.

Les ressources d’étendue d’application offrent un moyen simple de prendre en charge un thème cohérent dans votre application. Vous pouvez facilement créer un thème en XAML à l’aide de la Application.Resources balise. Toutefois, si votre application prend en charge plusieurs thèmes, qui peuvent contenir un grand nombre d’éléments de thème, il peut être plus facile de les gérer à l’aide d’une ResourceDictionary instance pour chaque thème. De cette façon, un nouveau thème peut être appliqué en définissant la propriété Resources sur la valeur appropriée ResourceDictionary.

Il existe deux considérations à prendre en compte lors de l’utilisation Resources. Tout d’abord, la clé de dictionnaire est un objet. Vous devez donc utiliser exactement la même instance d’objet lors de la définition 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). Deuxièmement, la valeur du dictionnaire est un objet. Vous devez donc convertir la valeur en type souhaité lors de l’obtention d’une valeur de propriété.

Resources est thread sécurisé et est disponible à partir de n’importe quel thread.

S’applique à