[WPF] Les "pack://" et l'accès aux ressources avec WPF
Avec WPF (Windows Presentation Foundation), il existe une syntaxe particulière à utiliser lorsque l'on souhaite accéder à une ressource, qu'elle soit "embarquée" dans notre assembly ou non 
Par exemple, il arrive très fréquemment que l'on voit (ou que l'on utilise), dans des applications, ce genre de syntaxe:
<Image Source="pack://application:,,,/Images/Sunset.jpg" />
Mais combien d'entre vous savent exactement à quoi cela correspond, à quoi cela fait réfrence ?
Ce post a justement pour but de vous aider à comprendre de quoi il s'agit....
Pour utiliser une ressource, avec WPF, il faut utiliser un schéma URI permettant de spécifier des emplacements. Ce schéma est de la forme suivante:
pack://<package URI>/<part path>
Le "package URI" est une URI absolue valide qui a été encodée pour convertir les slashes (\) en virgules (,).
L'URI peut-être un document XPS ou bien une valeur qui a été codée en dur dans le framework et qui fait référence à des emplacements spéciaux.
Une des valeurs déjà codée est par exemple application:///. Cela permet de faire référence aux ressources incorporées.
Une autre valeur possible est siteoforigin:///. Elle fait référence à l'URI où l'application navigateur (fichier XBAP) a été déployée, de telle façon que l'application puisse utiliser les ressources de ce site.
Voici des exemples de schémas URI que vous pouvez utiliser:
pack://file:,,,c:,MyDocs,foo.xps/Chapter1.xaml
pack://application:,,,/pages/Page1.xaml
pack://siteoforigin:,,,/foo.xml
Pour en savoir plus, vous pouvez lire ces posts d'Ashish Shetty (Program Manager WPF):
A+
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :