Application.Resources Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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é
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 :
Éléments
Windows
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.