应用程序的来源站点是什么?何时使用它?

22
  • 应用程序的起始点是什么
  • 何时使用它
  • 资源文件的构建操作如何与其相关联
  • pack://application:,,, 和 pack://siteoforigin:,,, 之间有什么区别
2个回答

29

“来源位置”指的是应用程序可执行程序集(即用户运行的 .exe 文件)所在的位置,即物理文件夹。因此,URI 相对于该文件夹。

例如:你有

  • C:\Programs\MyApp\MyApp.exe
  • C:\Programs\MyApp\MyIcon.bmp
  • C:\Programs\MyApp\Icons\MyOtherIcon.bmp

当运行 MyApp.exe 时,包 URI 是 pack://siteoforigin:,,,/MyIcon.bmppack://siteoforigin:,,,/Icons/MyOtherIcon.bmp,这意味着你必须将这些文件复制到相应的位置。

与之相反,应用程序包 URI 是指嵌入在程序集中的资源(通过使用“资源”构建操作)。


2
我还想参考MSDN上的Pack Uri页面(http://msdn.microsoft.com/en-us/library/aa970069.aspx#The_siteoforigin_____Authority)。 - H.B.

6
如果您不想受到在编译时声明应用程序资源的限制,那么还有另一个选择。不,这并不涉及使用完全限定的 URI 引用互联网上的资源,尽管确实支持此操作。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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接