Местоположение изображения .xaml во вторичной ссылке не становится правильным расположением ресурса во время выполнения, оно вместо этого ссылается на папку первичных ссылочных ресурсов. Как я могу это изменить?
Фон -
У меня есть решение с несколькими проектами. Три важных проекта здесь
- проект WPF, который создается как библиотека классов
- класс по умолчанию
библиотека
- консольное приложение для тестирования
В проекте WPF есть изображение .png. В созданном MainWindow он вызывается через:
<ImageBrush
ImageSource="pack://siteoforigin:,,,/Resources/MyDemoImage.png"
Stretch="Uniform"/>
Когда я запускаю экземпляр окна WPF напрямую через console app
, он работает нормально. Ссылка на ресурс становится во время выполнения:
C:\Users\me.me\Documents\Visual Studio 2015\Projects\sol\
WPFProjectName\
bin\Resources\MyDemoImage.png
Но если я создаю ссылку на проект WPF в проекте библиотеки классов, затем вызываю экземпляр библиотеки классов, адрес становится
C:\Users\me.me\Documents\Visual Studio 2015\Projects\sol\
ClassLibraryName\
bin\Resources\MyDemoImage.png
Таким образом, этот «пакетный» адрес становится ссылкой на ресурсы библиотеки классов, а не на папку ресурсов проекта WPF.
Теперь, я думаю, я мог бы просто добавить ресурс в эту библиотеку классов среднего уровня, но мне интересно, есть ли какой-нибудь правильный способ ссылки на «вторичный» ресурс, поэтому мне нужно добавить изображения только один раз?
Кстати, ошибка, которую я получаю, когда пытаюсь скомпилировать это System.Windows.Baml2006.TypeConverterMarkup
- я нашел ответы на этот вопрос, но попробовал то, что они говорят, безрезультатно (пометить изображение как копию всегда и т. Д.)