Что такое сайт приложения происхождения и когда его использовать

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

Ответ 1

Место происхождения - это местоположение (то есть физическая папка) исполняемой сборки приложения (то есть .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 пакета приложений относится к ресурсам, встроенным в вашу сборку (с помощью Build Action "Resource" ).

Ответ 2

Если вы не хотите, чтобы с ограничениями на то, что ваши ресурсы приложений были объявлены во время компиляции, для вас есть еще один вариант. Нет, это не связано с использованием полностью квалифицированного Uris для ссылки на ресурсы через Интернет. Хотя это действительно поддерживается. WPF предоставляет вам абстракцию для концептуального сайта сайта приложения, то есть местоположения, с которого было развернуто приложение. Например, если ваше приложение было запущено из http://nerddawg.blogspot.com, то ваш сайт-источник приложения http://nerddawg.blogspot.com. Чтобы получить доступ к изображению на изображениях /AuntDahlia.gif в этом месте, вы должны указывать в разметке:

<Image Source="pack://siteoforigin:,,,/images/AuntDahlia.jpg" />

для более

http://nerddawg.blogspot.com/2005/11/resources-in-windows-presentation.html