У меня достаточно большой проект Silveright 3.0, и у меня возникают проблемы с доступом к паре пользовательских ресурсов шрифтов из одной из сборок.
У меня есть работающее тестовое решение, в котором я добавил собственный шрифт в качестве ресурса и могу получить к нему доступ из XAML, используя:
<TextBlock Text="Test" FontFamily="FontName.ttf#Font Name" />
Тестовое решение состоит из TestProject.Application и TestProject.Application.Web проектов, со всеми развлечениями и играми, очевидно, в проекте TestProject.Application
Однако, когда я пытаюсь сделать это в своем основном решении, шрифты отказываются отображаться в правильном шрифте шрифта (вместо этого отображается шрифтом по умолчанию). Нет разницы в том, как шрифт был добавлен в проект между тестовым решением и основным решением, и XAML идентичен.
Однако существует различие в расположении решения. В основном решении наряду с проектом MainApp.Application и MainApp.Application.Web у меня также есть проект MainApp.Application.ViewModel и проект MainApp.Application.Views , и проблемная часть XAML находится в проекте MainApp.Application.Views (а не в проекте .Application, как тестовое решение).
Я пытался поместить шрифт в проект .Application или .Application.Views, пытался изменить действие Build на Content, Embedded Resource и т. Д., Но все безрезультатно.
Итак, есть ли проблема с доступом к ресурсам шрифта из дочерней сборки, о которой я не знаю, или кто-нибудь успешно это сделал?
Моя долгосрочная потребность будет состоять в том, чтобы действительные пользовательские шрифты были сохранены в виде ресурсов в отдельной сборке .Application.FontLibrary, которая будет загружаться и кэшироваться по требованию, а для элементов управления XAML в проекте .Application.Views потребуется ссылаться на эту сборку FontLibrary, чтобы получить действительные шрифты. Я также попытался создать эту отдельную сборку библиотеки шрифтов и не могу получить шрифты из второй сборки.
В качестве дополнительной информации я также попробовал следующие подходы к ссылкам на шрифты:
<TextBlock Text="Test" FontFamily="/FontName.ttf#Font Name" />
<TextBlock Text="Test" FontFamily="pack:application,,,/FontName.ttf#Font Name" />
<TextBlock Text="Test" FontFamily="pack:application,,,/MainApp.Application.Views;/FontName.ttf#Font Name" />
<TextBlock Text="Test" FontFamily="pack:application,,,/MainApp.Application.Views;component/FontName.ttf#Font Name" />
И несколько похожих вариантов с разными ссылками на сборки / подкаталогами / случайными точками с запятой.
А пока ничего не работает ... кто-нибудь ударил (и желательно решил)?