Atributo x:Sharedx:Shared Attribute

Cuando se establece en false, modifica el comportamiento de recuperación de los recursos WPF para que las solicitudes para el recurso con atributos creación una nueva instancia para cada solicitud en lugar de compartir la misma instancia para todas las solicitudes.When set to false, modifies WPF resource-retrieval behavior so that requests for the attributed resource create a new instance for each request instead of sharing the same instance for all requests.

Uso de atributos XAMLXAML Attribute Usage

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

ComentariosRemarks

x:Shared se asigna al espacio de nombres de XAML de lenguaje XAML y se reconoce como un elemento del lenguaje XAML válido por servicios XAML de .NET Framework y sus lectores XAML.x:Shared is mapped to the XAML language XAML namespace and is recognized as a valid XAML language element by .NET Framework XAML Services and its XAML readers. Sin embargo, las capacidades comentadas de x:Shared solo son relevantes para las aplicaciones de WPF y para el analizador de WPF XAML.However, the stated capabilities of x:Shared are only relevant for WPF applications and for the WPF XAML parser. En WPF, x:Shared sólo es útil como un atributo cuando se aplica a un objeto que existe dentro de un WPF ResourceDictionary.In WPF, x:Shared is only useful as an attribute when it is applied to an object that exists within a WPF ResourceDictionary. Otros usos no producen excepciones de análisis u otros errores, pero no tienen ningún efecto.Other usages do not throw parse exceptions or other errors, but they have no effect.

El significado de x:Shared no se especifica en la especificación del lenguaje XAML.The meaning of x:Shared is not specified in the XAML language specification. Otras implementaciones de XAML, como los que se basan en los servicios XAML de .NET Framework, no necesariamente proporcionan compatibilidad con uso compartido de recursos.Other XAML implementations, such as those that build on .NET Framework XAML Services, do not necessarily provide resource-sharing support. Estas implementaciones de XAML podrían proporcionar un comportamiento similar en el marco de apoyo que también usa x:Shared valores.Such XAML implementations could provide similar behavior in the supporting framework that also used x:Shared values.

En WPF, el valor predeterminado x:Shared condición de recursos es true.In WPF, the default x:Shared condition for resources is true. Esta condición significa que cualquier solicitud de recurso devuelve siempre la misma instancia.This condition means that any given resource request always returns the same instance.

Modificar un objeto que se devuelve a través de un recurso de API, como FindResource, o modificar un objeto directamente dentro de un ResourceDictionary, cambia el recurso original.Modifying an object that is returned through a resource API, such as FindResource, or modifying an object directly within a ResourceDictionary, changes the original resource. Si las referencias a ese recurso eran recursos dinámicos, los consumidores de ese recurso obtención el recurso modificado.If references to that resource were dynamic resource references, the consumers of that resource get the changed resource.

Si las referencias al recurso eran recursos estáticos, los cambios en el recurso después XAMLXAML tiempo de procesamiento son irrelevantes.If references to the resource were static resource references, changes to the resource after XAMLXAML processing time are irrelevant. Para obtener más información sobre estático o referencias de recursos dinámicos, consulte recursos XAML.For more information about static versus dynamic resource references, see XAML Resources.

Especificación explícita de x:Shared="true" es muy raro que ocurra, dado que ya es el valor predeterminado.Explicitly specifying x:Shared="true" is rarely done, because that is already the default. No hay ningún código directo equivalente para x:Shared modelo de objetos en WPF; solo puede especificarse en el uso de XAML y deben procesarse mediante el comportamiento WPF predeterminado o en una secuencia de nodo XAML intermedia en la ruta de acceso de carga si se procesan mediante Se XAML de .NET Framework servicios y sus lectores XAML.There is no direct code equivalent for x:Shared in the WPF object model; it can only be specified in a XAML usage and must be processed either by the default WPF behavior or in an intermediate XAML node stream on the load path if processed using .NET Framework XAML Services and its XAML readers.

Un escenario para x:Shared="false" es si se define un FrameworkElement o FrameworkContentElement derivados de la clase como un recurso y, a continuación, introduce el recurso del elemento en un modelo de contenido.A scenario for x:Shared="false" is if you define a FrameworkElement or FrameworkContentElement derived class as a resource and then you introduce the element resource into a content model. x:Shared="false" permite que un recurso de elemento se introdujeron varias veces en la misma colección (como un UIElementCollection).x:Shared="false" enables an element resource to be introduced multiple times in the same collection (such as a UIElementCollection). Sin x:Shared="false" esto no es válido porque la colección exige la unicidad de su contenido.Without x:Shared="false" this is invalid because the collection enforces uniqueness of its contents. Sin embargo, la x:Shared="false" comportamiento crea otra instancia idéntica de los recursos en lugar de devolver la misma instancia.However, the x:Shared="false" behavior creates another identical instance of the resource instead of returning the same instance.

Otro escenario para x:Shared="false" cuando se usa un Freezable recursos para los valores de animación pero desea modificar el recurso en cada animación.Another scenario for x:Shared="false" is if you use a Freezable resource for animation values but want to modify the resource on a per animation basis.

El control de cadenas de false no distingue mayúsculas de minúsculas.The string handling of false is not case sensitive.

En WPF, x:Shared solo es válida en las siguientes condiciones:In WPF, x:Shared is only valid under the following conditions:

Vea tambiénSee also