Partager via


x:Shared, attribut

Mise à jour : novembre 2007

Avec la valeur false, il modifie le comportement de récupération de ressources Windows Presentation Foundation (WPF) de manière à ce que des demandes de ressources créent une instance pour chaque demande, au lieu de partager la même instance pour toutes les demandes.

Utilisation des attributs XAML

<ResourceDictionary>
  <object x:Shared="false".../>
</ResourceDictionary>

Notes

La condition x:Shared par défaut pour les ressources est true. Cette condition signifie que toute demande de ressource retourne toujours la même instance. La ressource d'origine change en cas de modification d'un objet retourné via une ressource API (ex. FindResource) ou de modification directe d'un objet dans un ResourceDictionary. Si les références à cette ressource étaient des références de ressource dynamiques, les consommateurs de cette ressource obtiendront la ressource modifiée. (Si les références à la ressource étaient des références de ressource statiques, les modifications apportées à la ressource après le temps de traitement XAML sont sans importance. Pour plus d'informations sur les références de ressource statiques et dynamiques, consultez Vue d'ensemble des ressources.)

Il est rare de spécifier x:Shared="true", car il s'agit déjà de la valeur par défaut. Il n'existe aucun code direct équivalent pour x:Shared.

Un scénario pour x:Shared="false" consiste à définir une classe dérivée FrameworkElement ou FrameworkContentElement en tant que ressource et introduire la ressource d'élément dans un modèle de contenu. x:Shared="false" active une ressource d'élément à introduire plusieurs fois dans la même collection (ex. UIElementCollection). Sans x:Shared= "false", ce ne serait pas valide, parce que la collection impose l'unicité de son contenu. Cependant, le comportement x:Shared= "false" crée fondamentalement une autre instance identique de la ressource, au lieu de retourner la même instance.

Un autre scénario pour x:Shared="false" consiste à utiliser une ressource Freezable pour les valeurs d'animation, mais à modifier la ressource sur une base par animation.

La manipulation de chaînes "false" ne respecte pas la casse.

x:Shared est uniquement valide dans les conditions suivantes :

Voir aussi

Concepts

Vue d'ensemble des ressources

Référence

ResourceDictionary

Autres ressources

Éléments de base