Прочитать файл ресурса, расположенный во внешней библиотеке в XAML - PullRequest
0 голосов
/ 26 октября 2019

У меня многоязычное приложение, в котором все словари хранятся в файлах .resx, по одному файлу на каждый язык. До сих пор словарь находился в моем основном проекте, поэтому для его чтения мне просто нужно было сделать

На C #:

Properties.Resources.MyKey

На XAML:

xmlns:p="clr-namespace:VEGA_STEEL.Properties"

Header="{x:Static p:Resources.MyKey}"

Основная причина, по которой я это делаю, заключается в возможности многократного использования этой библиотеки в разных решениях, поэтому мне не нужно переводить в каждом решении, если мне нужно добавить несколько полей или новый язык.

Iу меня есть библиотека основных классов, которую я назвал «MainLibrary» (где у меня есть все классы, которые являются общими для каждого решения). Я добавил свойства в эту библиотеку классов, все прошло хорошо, для C # Просто нужно было заменить все на:

MainLibrary.Properties.Resources.MyKey; 

Но в XAML я не мог найти, как установить новую ссылку на ресурсы.

Я пытался именно это:

xmlns:p="clr-namespace:MainLibrary.Properties"

, но не работает. Как установить ссылку на внешнюю библиотеку?

1 Ответ

1 голос
/ 26 октября 2019

Вы должны добавить имя сборки в конце объявления пространства имен в xaml. В вашем случае это должно быть

xmlns:p="clr-namespace:MainLibrary.Properties;assembly=MainLibrary"

(если ваша библиотека основного класса имеет такое имя, как MainLibrary, в противном случае используйте правильное имя сборки, а не пространство имен).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...