Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

Propriété FrameworkContentElement.Resources

 

Obtient ou définit le dictionnaire de ressources actuel défini localement.

Espace de noms:   System.Windows
Assembly:  PresentationFramework (dans PresentationFramework.dll)

[AmbientAttribute]
public ResourceDictionary Resources { get; set; }

Valeur de propriété

Type: System.Windows.ResourceDictionary

Les ressources actuelles définies localement.Il s'agit d'un dictionnaire de ressources, où les ressources dans le dictionnaire sont accédées par clé.

Les dictionnaires de ressources qui peuvent être complètement ou partiellement définis en Extensible Application Markup Language (XAML) sont créés en général comme un élément de propriété et sont en général à l'élément racine pour toute page individuelle ou pour l'application.Placer le dictionnaire de ressources à ce niveau simplifie la recherche d'éléments enfants individuels dans la page (ou de toute page, dans le cas d'une application).Dans la plupart des scénarios d'application, nous recommandons que les styles soient définis comme éléments objet dans un dictionnaire de ressources, ou soit définis comme ressources externes afin que la ressource de style entière puisse être autonome (cette approche permet de séparer les responsabilités du concepteur de celles du développeur en séparant les fichiers physiques qui doivent être modifiés).

Notez que cette propriété retourne uniquement le dictionnaire de ressources déclaré directement dans cet élément.C'est différent du processus actuel de recherche de ressources, où un élément enfant peut accéder à toutes les ressources définies dans chaque élément parent, en recherchant vers le haut de manière récursive.

Les ressources peuvent également être référencées par code depuis la collection, mais sachez que les ressources créées en XAML ne seront définitivement pas accessibles tant que Loaded n'a pas été déclenché par l'élément qui déclare le dictionnaire.En fait, les ressources sont analysées de façon asynchrone, et pas même l'événement Loaded est une assurance que vous pouvez référencer une ressource XAML définie.Pour cette raison, vous devez accéder en général uniquement aux ressources XAML définies dans le cadre du code au moment de l'exécution, ou par le biais d'autres techniques XAML comme les styles ou les références d'extension de ressource les valeurs d'attribut.Lorsque vous accédez aux ressources à travers le code, c'est globalement équivalent à une référence effectuée depuis XAML.

Le ResourceDictionary sous-jacent prend en charge les méthodes requises pour ajouter, supprimer ou demander des ressources à partir de la collection en utilisant le code.La propriété Resources est définissable pour prendre en charge le scénario du remplacement complet de la collection de ressources d'un élément pour être un ResourceDictionary nouveau ou différent.

Remarquez que la syntaxe XAML montrée n'inclut pas d'élément pour le ResourceDictionary.C'est un exemple de syntaxe de collection implicite ; une balise qui représente l'élément de collection peut être omise.Les éléments ajoutés comme éléments à la collection sont spécifiés à la place.Pour plus d'informations sur les collections implicites et XAML, consultez Syntaxe XAML en détail.Un cas où un ResourceDictionary est encore spécifié explicitement comme un élément se produit si vous introduisez un dictionnaire fusionné, auquel cas il n'y a en général aucun élément enfant pour ce ResourceDictionary.Pour plus d'informations, consultez 合并资源字典.

<object>
  <object.Resources>
    oneOrMoreResourceElements
  </object.Resources>
</object>

oneOrMoreResourceElements

Un ou plusieurs éléments objet, chacun d'entre eux définissant une ressource.Chaque élément de propriété de ressource dans chaque ResourceDictionary doit avoir une valeur unique pour le x:Key ディレクティブ, qui sert comme clé unique lorsque les valeurs sont récupérées du ResourceDictionary.

L'exemple suivant établit une collection Resources sur un élément racine FlowDocument. FlowDocument est un choix typique car c'est l'une des rares classes FrameworkContentElement qui soit logique en tant qu'élément racine, et les ressources sont stockées en général à la racine de page ou même à des niveaux supérieurs comme dans l'application.

.NET Framework
Disponible depuis 3.0
Retour au début
Afficher: