Silverlight RichTextBox: Как установить собственный шрифт из ресурса / потока? - PullRequest
1 голос
/ 07 июля 2010

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

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

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

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

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

1 Ответ

0 голосов
/ 27 января 2011

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

Тогда вы можете ссылаться на эти шрифты в своем коде.В текстовом поле silverlight richtextbox вы можете указать 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.

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

...