Ieri ho postato qualcosa sulla nomenclatura pack:// disponibile con il FW3.0. Effettivamente sono stato un po' superficiale, e ringrazio quindi sia i due illustri Raffaele che Corrado per avermi corretto. Mi sono appena letto la pagina Pack URIs in Windows Presentation Foundation, inclusa nel Windows SDK. Questa volta lascio che sia l'SDK a parlare per me, riportando questa frase:
The concept of packages and parts is analogous to applications and application data files, where an application (package) can include one or more application data files (parts), including:
-
Resource files that are compiled into the local assembly
-
Resource files that are compiled into a referenced assembly
-
Resource files that are compiled into a referencing assembly
-
Content files
-
Site of origin files
Non è affatto vero quindi che pack:// serve solo nell'assembly corrente, o nell'assembly che contiene lo XAML che funge da ApplicationDefinition. La sintassi prevede il referenziamento a risorse incluse in ogni assembly della soluzione. Riporto in breve:
Resource File Pack URIs - Local Assembly
pack://application:,,,/ResourceFile.xaml (se la risorsa è nella root dell'assembly)
pack://application:,,,/Subfolder/ResourceFile.xaml (se la risorsa è in qualche directory dell'assembly)
Resource File Pack URIs - Referenced Assembly
pack://application:,,,/ReferencedAssembly;component/ResourceFile.xaml
pack://application:,,,/ReferencedAssembly;component/Subfolder/ResourceFile.xaml
pack://application:,,,/ReferencedAssembly;v1.0.0.1;component/ResourceFile.xaml
Non sto a riportare tutto: se avete bisogno di maggiori informazioni, consultate il vostro Windows SDK.
Se capitate nel mio post precedente, quindi, leggetevi anche i due commenti che mi hanno lasciato, mi raccomando! Adesso corro subito a fare un update del post, così avviso chi dovesse capitare per caso su quel post. :-)