Partager via


FrameworkContentElement.Resources Propriété

Définition

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

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é

Ressources actuelles définies localement. Il s’agit d’un dictionnaire de ressources, où les ressources du dictionnaire sont accessibles par clé.

Attributs

Exemples

L’exemple suivant établit une Resources collection sur un FlowDocument élément racine. FlowDocument est un choix classique, car il s’agit de l’une des rares FrameworkContentElement classes qui sont logiques en tant qu’élément racine, et les ressources sont généralement stockées à la racine de la page ou à des niveaux encore plus élevés tels que dans l’application.

<FlowDocument
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  x:Class=" SDKSample.Page2">
  <FlowDocument.Resources>
    <Style TargetType="{x:Type Paragraph}" x:Key="BluePara">
      <Setter Property="Background" Value="Blue"/>
      <Setter Property="FontSize" Value="18"/>
      <Setter Property="Foreground" Value="LightBlue"/>
      <Setter Property="FontFamily" Value="Trebuchet MS"/>
    </Style>
  </FlowDocument.Resources>
  <Paragraph Style="{StaticResource BluePara}">Lorem ipsum etc.</Paragraph>
</FlowDocument>

Remarques

Les dictionnaires de ressources qui peuvent être définis complètement ou partiellement dans le langage XAML (Extensible Application Markup Language) sont généralement créés en tant qu’élément de propriété et sont généralement sur l’élément racine pour une page individuelle ou pour l’application. Le fait de placer le dictionnaire de ressources à ce niveau facilite la recherche à partir d’éléments enfants individuels dans la page (ou à partir de n’importe quelle page, dans le cas de l’application). Dans la plupart des scénarios d’application, nous vous recommandons de définir des styles en tant qu’éléments objet dans un dictionnaire de ressources ou d’être définis en tant que ressources externes afin que l’ensemble de la ressource de style puisse être autonome (cette approche permet de séparer les responsabilités du concepteur des responsabilités des développeurs 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. Cela est différent du processus de recherche de ressources réel, où un élément enfant peut accéder à l’une des ressources définies dans chaque élément parent, en recherchant de manière récursive vers le haut.

Les ressources peuvent également être référencées par du code à partir de la collection, mais sachez que les ressources créées en XAML ne seront certainement pas accessibles tant qu’elles ne seront pas levées par Loaded l’élément qui déclare le dictionnaire. En fait, les ressources sont analysées de manière asynchrone, et même pas l’événement Loaded est une assurance que vous pouvez référencer une ressource définie par XAML. Pour cette raison, vous devez généralement accéder uniquement aux ressources XAML définies dans le cadre du code d’exécution, ou par le biais d’autres techniques XAML telles que des styles ou des références d’extension de ressource pour les valeurs d’attribut. Lorsque vous accédez aux ressources via du code, il équivaut essentiellement à une référence DynamicResource effectuée à partir de XAML.

Le sous-jacent ResourceDictionary prend en charge les méthodes requises pour ajouter, supprimer ou interroger des ressources à partir de la collection à l’aide du code. La Resources propriété est settable pour prendre en charge le scénario de remplacement complet de la collection de ressources d’un élément pour être une nouvelle ou différente ResourceDictionary.

Notez que la syntaxe XAML affichée n’inclut pas d’élément pour le ResourceDictionary. Il s’agit d’un exemple de syntaxe de collection implicite ; une balise représentant l’élément de collection peut être omise. Les éléments ajoutés en tant qu’éléments à la collection sont spécifiés à la place. Pour plus d’informations sur les collections implicites et XAML, consultez la syntaxe XAML en détail. Un cas où un ResourceDictionary élément est toujours spécifié explicitement comme élément est si vous introduisez un dictionnaire fusionné, auquel cas il n’y a généralement aucun élément enfant pour cela ResourceDictionary. Pour plus d’informations, consultez Dictionnaires de ressources fusionnés.

Utilisation de l’élément de propriété XAML

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

Valeurs XAML

oneOrMoreResourceElements Un ou plusieurs éléments d’objet, chacun d’entre eux définissant une ressource. Chaque élément de propriété de ressource dans chacun ResourceDictionary doit avoir une valeur unique pour la directive x :Key, qui sert de clé unique lorsque les valeurs sont récupérées à partir du ResourceDictionary.

S’applique à

Voir aussi