2010-07-07 9 views
1

Est-ce que quelqu'un sait comment définir la police dans un RichTextBox à partir d'un Stream?Silverlight RichTextBox: Comment définir une police personnalisée à partir de ressource/flux?

TextBlock et TextBox ont la possibilité de définir les FontSource, mais les classes comme Run, Paragraph et toute RichTextBox qui manque. :( Toute raison?

est-il un moyen connu pour y parvenir? je l'ai déjà essayé de définir l'ensemble URI source dans le FontFamily mais cela ne semble pas fonctionner sur des sources externes, juste pour interne URI adresse comme /SilverlightFontTest;component/GRAFFITO_01.ttf#Graffito.

Je ne peux pas trouver de plus amples informations pour essayer ce prochain ou comment continuer, s'il vous plaît aidez-moi.

Cordialement,
Bastian

Répondre

0

Vous pouvez spécifier une police personnalisée dans un contrôle Silverlight mais si elle n'est pas installée sur la machine de l'utilisateur, elle doit être stockée dans votre projet quelque part. J'ai fait ceci en créant un dossier de "polices". Vous devez également définir "build action" de chaque fichier de police sur "resource" dans la fenêtre Propriétés.

Ensuite, vous pouvez vous référer à ces polices dans votre code. Dans le richtextbox silverlight vous pouvez spécifier un FontFamily comme ceci:

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

Donc, pour Helvetica LT STD romaine, il irait comme:

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

Vous pouvez obtenir le nom de la police réelle ("Helvetica LT Std") en ouvrant manuellement le fichier de police. Dans l'exemple précédent, mes fichiers de polices sont stockés dans un dossier appelé "polices" dans mon projet Silverlight.

Ce n'est pas la solution la plus simple, mais cela fonctionne. J'espère que cela t'aides!

+0

Salut, cela fonctionne réellement, mais cela ne résout pas le problème de définir une ressource de police à partir d'un flux. – Haragashi