Condividi tramite


Attributo x:Shared

Aggiornamento: novembre 2007

Se impostato su false, modifica il comportamento di recupero delle risorse di Windows Presentation Foundation (WPF). Pertanto, le richieste per una risorsa creano una nuova istanza per ciascuna richiesta, anziché condividere la stessa istanza per tutte le richieste.

Utilizzo della sintassi XAML per gli attributi

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

Note

La condizione x:Shared predefinita per le risorse è true. Tale condizione indica che qualsiasi richiesta della risorsa data restituisce sempre la stessa istanza. La modifica di un oggetto restituito tramite una risorsa API, ad esempio FindResource o la modifica diretta di un oggetto all'interno di un oggetto ResourceDictionary, modifica la risorsa originale. Se i riferimenti a quella risorsa erano riferimenti alla risorsa dinamica, gli utenti di quella risorsa otterranno la risorsa modificata. Se i riferimenti alla risorsa erano riferimenti alla risorsa statica, le modifiche alla risorsa dopo il tempo di elaborazione XAML sono irrilevanti. Per i informazioni dettagliate sulle differenze tra i riferimenti alle risorse statiche e i riferimenti alle risorse dinamiche, vedere Cenni preliminari sulle risorse.)

La specifica di x:Shared="true" non è comune, in quanto si tratta già di un valore predefinito. Non esiste un codice equivalente per l'attributo x:Shared.

L'attributo x:Shared="false" può essere utilizzato quando si definisce una classe derivata FrameworkElement o FrameworkContentElement come risorsa e si introduce la risorsa dell'elemento in un modello di contenuto. x:Shared= "false" consente di introdurre più volte una risorsa dell'elemento nello stesso insieme (ad esempio un oggetto UIElementCollection). Senza x:Shared= "false" tale operazione non sarebbe consentita, in quanto l'insieme applica l'unicità del contenuto. Tuttavia, il comportamento di x:Shared= "false" crea fondamentalmente un'altra istanza identica della risorsa, piuttosto che restituire la stessa istanza.

Un altro scenario in cui è possibile utilizzare x:Shared= "false" si verifica quando si utilizza una risorsa Freezable per i valori di animazione, ma si decide di modificare la risorsa per singola animazione.

Per la gestione di stringa di false non viene effettuata alcuna distinzione tra maiuscole e minuscole.

L'attributo x:Shared è consentito solo nelle seguenti condizioni:

Vedere anche

Concetti

Cenni preliminari sulle risorse

Riferimenti

ResourceDictionary

Altre risorse

Elementi di base