答案 0 :(得分:22)
原始站点是应用程序可执行程序集的位置(即物理文件夹)(即用户运行的.exe)。因此URI相对于该文件夹。
示例:您有
运行MyApp.exe时,包URI为pack://siteoforigin:,,,/MyIcon.bmp
和pack://siteoforigin:,,,/Icons/MyOtherIcon.bmp
。这意味着你必须将这些文件复制到那些地方。
相反,应用程序包URI指的是程序集中嵌入的资源(通过使用构建操作“资源”)。
答案 1 :(得分:4)
如果您不希望受到在编译时声明应用程序资源的限制的约束,那么还有另一种选择。不,这不涉及使用完全合格的Uris来引用互联网上的资源。虽然,这确实得到了支持。 WPF为应用程序的概念源站点(即部署应用程序的位置)提供了抽象。例如,如果您的应用程序是从http://nerddawg.blogspot.com启动的,那么您的应用程序的原始站点是http://nerddawg.blogspot.com。要在该位置访问images / AuntDahlia.gif处的图像,您可以在标记中指定:
<Image Source="pack://siteoforigin:,,,/images/AuntDahlia.jpg" />
了解更多
http://nerddawg.blogspot.com/2005/11/resources-in-windows-presentation.html