2016-08-15 2 views
2

Ich habe eine benutzerdefinierte Schriftart in meinem Assets-Ordner und muss diese Schriftart als globale Schriftart für die App zuweisen. Daran habe ich gedacht, aber es funktioniert nicht.So richten Sie eine globale benutzerdefinierte Schriftart in App.xaml ein

<FontFamily x:Key="MetricWebRegular"> 
       ms-appx:///Assets/Fonts/MetricWeb-Regular.ttf#Metric Web 
</FontFamily> 

Ich rufe dies auf, indem ich es zu einem Style-Setter in einem Textfeld hinzufüge.

+0

Ich würde auch gerne wissen, ob es eine Möglichkeit gibt, globale benutzerdefinierte Schriftart einzurichten. – AVK

Antwort

2

Das ist, was ich dachte, aber es funktioniert nicht.

Es ist schwer zu wissen, was hier schief läuft, nur basierend auf Ihrem Code, es sollte funktionieren. Zum einen habe ich nicht Ihre Schriftart-Ressource, die ich heruntergeladen habe ein aus dem Internet und wie diese getestet:

<Application.Resources> 
    <FontFamily x:Key="MetricWebRegular">ms-appx:///Assets/Blambot-Custom.ttf#Blambot Custom</FontFamily> 
</Application.Resources> 

verwenden dann diese Ressource im Stil Setter in einem Textfeld:

<Page.Resources> 
    <Style x:Key="TextBoxStyle" TargetType="TextBox"> 
     ... 
     <Setter Property="FontFamily" Value="{StaticResource MetricWebRegular}" />  
     ... 

      </Setter> 
     </Style> 
    </Page.Resources> 

Und mein TextBox :

<TextBox Text="Hello 11111222333" FontSize="30" Style="{StaticResource TextBoxStyle}" /> 

Es funktioniert perfekt:

enter image description here

Hier ist meine Schriftart download Uri. Ich habe es heruntergeladen und seinen Namen hier geändert, so dass es das Format wie Ihres erfüllt.

So

  1. Achten Sie darauf, Ihre Font-Datei kein Problem hat.

  2. ms-appx:///Assets/Fonts/MetricWeb-Regular.ttf#Metric Web dieser Weg bedeutet, dass Ihre Font-Datei unter dem Fonts Ordner des Assets Ordner ist, stellen Sie sicher, dass der Weg richtig ist. Wenn Sie diese Ressource verwenden möchten, müssen Sie StaticResource und ihren Schlüssel verwenden.

  3. Wenn Sie die Standardschriftfamilie außer Kraft setzen möchten, können Sie die ContentControlThemeFontFamily Ressource wie dies außer Kraft setzen:

<FontFamily x:Key="ContentControlThemeFontFamily">ms-appx:///Assets/Blambot-Custom.ttf#Blambot Custom</FontFamily>, ist das Ergebnis meiner Layout hier:

enter image description here

Wenn es noch ein Problem gibt, können Sie einen Kommentar hinterlassen, um die Download-URL Ihrer Fontdatei-Ressource zu posten, also können wir sie herunterladen und einen Test durchführen lassen.

+0

Es funktioniert jetzt: D Ich legte die Schriftarten in den Ordner Assets der PCL hahaha. Danke für eine gründliche Erklärung :)) – astropringles

Verwandte Themen