Что такое сайт приложения и когда его использовать? - PullRequest
16 голосов
/ 18 мая 2011
  • Что такое исходный сайт приложения
  • Когда его использовать
  • Как происходит сборка файла ресурса, связанного с ним
  • В чем разницамежду pack: // application: ,,, и pack: // siteoforigin: ,,,

Ответы [ 2 ]

22 голосов
/ 18 мая 2011

Местом происхождения является местоположение (т. Е. Физическая папка) исполняемой сборки приложения (т. Е. EXE-файла, который запускает пользователь).Таким образом, URI относится к этой папке.

Пример: у вас есть

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

URI пакета - pack://siteoforigin:,,,/MyIcon.bmp и pack://siteoforigin:,,,/Icons/MyOtherIcon.bmp при запуске MyApp.exe.Это означает, что вы должны скопировать эти файлы в эти места.

Напротив, URI пакета приложений относится к ресурсам, встроенным в вашу сборку (с помощью действия по сборке «Ресурс»).

4 голосов
/ 18 мая 2011

Если вы не хотите ограничиваться объявлением ресурсов приложения во время компиляции, для вас есть еще один вариант. Нет, это не подразумевает использование полностью квалифицированного 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

...