Compartilhar via


Atributo x:Shared

Quando você o define para false, modifica o comportamento de aquisição de recurso Windows Presentation Foundation (WPF) tal que requisições para um recurso irão criar novas instâncias em cada requisição, ao invés de compartilhar a mesma instância para cada requisição.

Uso de atributos XAML

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

Comentários

A condição padrão de x:Shared para recursos é true. Esta condição significa que qualquer requisição de recurso sempre retorna a mesma instância. Modificando um objeto retornado por meio de um recurso API como FindResource, ou modificando um objeto diretamente em um ResourceDictionary, modifica o recurso original. Se as referências para aquele recurso eram referências dinâmicas de recursos, então os consumidores daquele recurso irão receber um recurso modificado. Se a referência par ao recurso fosse estática, mudanças no recurso após o tempo de processamento do XAML são irrelevantes. Para exemplos em referência de recursos estáticas versus dinâmicas, consulte Visão geral sobre Recursos.)

Especificando x:Shared="true" é incomum, porque aquele já é o padrão. Não há código direto equivalente para x:Shared.

Um cenário para x:Shared="false" é se você definir uma classe derivada FrameworkElement ou FrameworkContentElement como um recurso e introduzir o recurso de elemento no modelo de conteúdo. x:Shared="false" permite um recurso de elemento ser introduzido várias vezes na mesma coleção (como UIElementCollection). Sem x:Shared="false" isto seria ilegal, orque a coleção força a unicidade do seu conteúdo. Mas o comportamento de x:Shared="false" basicamente cria outra instância idêntica do recurso, ao invés de retornar a mesma instância.

Outro cenário para x:Shared="false" é se você usar um recurso Freezable para valores de animação, mas quer modificar o recurso em cada animação.

A string "false" não é sensível a letras maiúsculas e minúsculas.

x:Shared só é legal dentro das seguintes condições:

Consulte também

Conceitos

Visão geral sobre Recursos

Referência

ResourceDictionary

Outros recursos

Elementos Básicos