У меня есть сборка, которая определяет стили и некоторые элементы управления для приложения WPF. В этой сборке у меня есть ResourceDictionary, который указывает шрифт по умолчанию для использования другими элементами управления и стилями в сборке.WPF custom FontFamily от сборки?
<FontFamily x:Key="DefaultFontFamily">Segoe UI</FontFamily>
<sys:Double x:Key="DefaultFontSize">15</sys:Double>
То, что я хотел бы сделать, это изменить DefaultFontFamily к самодельному шрифту, который связан (не встроенный) с узлом.
Я создал папку «Ресурсы» в проекте и скопировал там специальный шрифт. Я установил 'Build Action' шрифта в 'Content' и 'Copy to Output Directory' в 'Copy if newer'.
Проект является частью решения, содержащего другой проект, который использует стили в сборке, поэтому, когда решение построено, шрифты копируются как ожидалось. Однако я не могу указать правильную папку для ссылки на шрифты.
Что работает:
<FontFamily x:Key="DefaultFontFamily">C:\code\Solution\Project\bin\Debug\Resources\Lobster-Regular.ttf#Lobster</FontFamily>
<FontFamily x:Key="DefaultFontFamily">file:///c:/code/Solution/Project/bin/Debug/Resources/Lobster-Regular.ttf#Lobster</FontFamily>
Здесь 'Project' это имя проекта запуска (исполняемый файл), который ссылается на стили сборки.
Что не работает:
<FontFamily x:Key="DefaultFontFamily">\Resources\Lobster-Regular.ttf#Lobster</FontFamily>
<FontFamily x:Key="DefaultFontFamily">.\Resources\Lobster-Regular.ttf#Lobster</FontFamily>
<FontFamily x:Key="DefaultFontFamily">/Resources/#Lobster</FontFamily>
<FontFamily x:Key="DefaultFontFamily">./Resources/#Lobster</FontFamily>
Я также попытался установить содержание шрифта, как 'Ресурс' и 'Embedded Resource' и попытался это:
<FontFamily x:Key="DefaultFontFamily">pack://application:,,,/Resources/Lobster.ttf#Lobster</FontFamily>
Это тоже не сработало. documentation говорит, что я должен уметь использовать:
Строка, указывающая папку, содержащую шрифт, а также фамилию шрифта. Имя папки и шрифта ограничено символом #. Ссылка на папку может быть абсолютной или относительной. Например, «Пользовательские шрифты \ #My Custom Font».
Что я делаю неправильно?
насчет пакета: // Применение: ,,,/[YourAssembly]; компонент/Resources/Lobster.ttf # Lobster»и сделать не забудьте вставить [YourAssembly] - не уверен, что он сделает трюк –