FrameworkContentElement.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 le dictionnaire de ressources actuel 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é
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é.
- Attributs
Exemples
L’exemple suivant établit une Resources collection sur un FlowDocument élément racine. FlowDocument est un choix typique, car il s’agit de l’une des rares FrameworkContentElement classes qui ont un sens en tant qu’élément racine, et les ressources sont généralement stockées à la racine de la page ou à des niveaux même plus élevés, comme 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 entièrement ou partiellement en XAML (Extensible Application Markup Language) sont généralement créés en tant qu’élément de propriété et se trouvent généralement sur l’élément racine pour n’importe quelle 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 recommandons de définir les styles en tant qu’éléments d’objet dans un dictionnaire de ressources ou en tant que ressources externes afin que la ressource de style entière puisse être autonome (cette approche permet de séparer les responsabilités du concepteur et les 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 effectuant une recherche récursive vers le haut.
Les ressources peuvent également être référencées par le code à partir de la collection, mais sachez que les ressources créées en XAML ne seront certainement pas accessibles tant qu’après Loaded avoir été levées par l’élément qui déclare le dictionnaire. En fait, les ressources sont analysées de manière asynchrone, et même l’événement Loaded n’est pas une garantie 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 DÉFINIES PAR XAML 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 à des ressources via du code, cela équivaut essentiellement à une référence DynamicResource faite à partir de XAML.
Le sous-jacent ResourceDictionary prend en charge les méthodes nécessaires pour ajouter, supprimer ou interroger des ressources à partir de la collection à l’aide de code. La Resources propriété est paramétrable pour prendre en charge le scénario de remplacement complet de la collection de ressources d’un élément en tant que nouveau ou différent ResourceDictionary.
Notez que la syntaxe XAML affichée n’inclut pas d’élément pour .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 Syntaxe XAML en détail. Un cas où un ResourceDictionary est toujours spécifié explicitement en tant qu’élément est si vous introduisez un dictionnaire fusionné, auquel cas il n’existe généralement aucun élément enfant pour ce ResourceDictionary. Pour plus d’informations, consultez Dictionnaires de ressources fusionnés.
Utilisation des éléments de propriété XAML
<object>
<object.Resources>
oneOrMoreResourceElements
</object.Resources>
</object>
Valeurs XAML
oneOrMoreResourceElements
Un ou plusieurs éléments d’objet, chacun d’eux définissant une ressource. Chaque élément de propriété de ressource au sein de chacun ResourceDictionary doit avoir une valeur unique pour la directive x:Key, qui sert de clé unique lorsque des valeurs sont récupérées à partir de ResourceDictionary.