Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Silverlight RichTextBox: как установить собственный шрифт из ресурса/потока?

Автор вопроса: HaragashiОтветов: 1

Кто-нибудь знает, как установить шрифт в RichTextBox из Stream?

TextBlock и TextBox имеют возможность установить FontSource, но такие классы, как Run, Paragraph и все RichTextBox пропускают это. :( Есть причины для этого?

Есть ли известный способ добиться этого? Я уже пытался установить весь исходный URI в FontFamily, но это, похоже, не работает с внешними источниками, только для внутренних адресов URI, таких как /SilverlightFontTest;component/GRAFFITO_01.ttf#Graffito.

Я не могу найти дополнительную информацию о том, что делать дальше или что делать дальше, пожалуйста, помогите мне.

С уважением,
Бастиан

richtextboxsilverlight

Ответы

Ответ 1 · lhan

Вы можете указать пользовательский шрифт в элементе управления Silverlight, но если он не установлен на компьютере пользователя, он должен храниться где-то в вашем проекте. Я сделал это, создав папку "шрифты". Вы также должны установить "действие сборки" каждого файла шрифта на "ресурс" в окне "Свойства".

Затем вы можете ссылаться на эти шрифты в своем коде. В расширенном текстовом поле silverlight вы можете указать FontFamily следующим образом:

Dim oFontFamily as New FontFamily("fontFolderName/FontFileName.otf#FontName") myRichTextBox.Selection.ApplyPropertyValue(Run.FontFamilyPoeprty, oFontFamily)

Итак, для Helvetica LT STD Roman это будет выглядеть так:

Dim oFontFamily as new FontFamily("fonts/HelveticaLTSTD-Roman.otf#Helvetica LT Std")

Вы можете получить фактическое имя шрифта ("Helvetica LT Std"), вручную открыв файл шрифта.

Из предыдущего примера мои файлы шрифтов хранятся в папке под названием "шрифты" в моем проекте Silverlight.

Это не самое простое решение, но оно работает. Надеюсь это поможет!

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы