Esiste un metodo abbastanza generale per poter caricare da ovunque una risorsa Silverlight (che si tratti di un’immagine o di un dictionary), ed è il classico metodo che taglia la testa al toro soprattutto nelle situazioni non convenzionali, ad esempio caricare un’immagine che sta in uno xap (magari in un assembly di risorse) in una class library che sta in un altro xap (ad esempio un plug-in dell’applicazione principale che sfrutta la disponibilità delle risorse comuni).
Il metodo in oggetto sfrutta l’utilizzo di un URI formattato in maniera particolare ovvero:
/{nome-assembly-dove-si-trova-la-risorsa};component/{percorso-locale-della-risorsa-nell’assembly}
Quindi l’immagine Banner.png nella cartella Images dell’assembly MyAssembly avrà un URI basato sul seguente path:
/MyAssembly;component/Images/Banner.png
Per quanto riguarda un resource dictionary avremmo:
/MyAssembly;component/Resources/BrushResources.xaml