什么是应用程序的原始站点以及何时使用它

时间:2011-05-18 10:21:31

标签: wpf xaml resources window pack

  • 什么是应用程序的原产地
  • 何时使用
  • 与资源文件关联的构建操作如何与
  • 相关联
  • pack:// application:,,,和pack:// siteoforigin:,,,
  • 之间有什么区别?

2 个答案:

答案 0 :(得分:22)

原始站点是应用程序可执行程序集的位置(即物理文件夹)(即用户运行的.exe)。因此URI相对于该文件夹。

示例:您有

  • C:\程序\ MyApp的\ MyApp.exe将
  • C:\程序\ MyApp的\ MyIcon.bmp
  • C:\程序\ MyApp的\图标\ MyOtherIcon.bmp

运行MyApp.exe时,包URI为pack://siteoforigin:,,,/MyIcon.bmppack://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