2010-07-07 2 views
1

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

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

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

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

с наилучшими пожеланиями,
Бастиан

ответ

0

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

Затем вы можете обратиться к этим шрифтам в своем коде. В 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.

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

+0

Привет, это действительно работает, , но это не решает проблему установки шрифта ressource из потока. – Haragashi

Смежные вопросы