2016-08-15 13 views
2

私の資産フォルダにカスタムフォントがあり、このフォントをアプリケーションのグローバルフォントとして割り当てる必要があります。これは私が思ったものですが、うまく機能していません。App.xamlでグローバルカスタムフォントを設定する方法

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

私はこれをテキストボックスのスタイル設定ツールに追加して呼び出します。

+0

グローバルなカスタムフォントを設定する方法があるかどうかを知りたいと思います。 – AVK

答えて

2

これは私が考えたものですが、動作しません。

ここで間違っていることは分かりません。コードに基づいているだけで、うまくいくはずです。まず、私はあなたのフォントリソースを持っていない、私はインターネットから1をダウンロードし、次のようにテストした:

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

その後、テキストボックスにスタイルのセッターで、このリソースを使用します。

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

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

そして、私のTextBox

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

それは完璧に動作します:

enter image description here

ここは私のフォントdownload Uriです。私はそれをダウンロードし、あなたのものとしてのフォーマットに合うようにここでその名前を変更しました。

ので、

  1. は、あなたのフォントファイルに問題がないことを確認します。

  2. ms-appx:///Assets/Fonts/MetricWeb-Regular.ttf#Metric Webこのパスは、フォントファイルがAssetsフォルダのFontsフォルダにあることを示します。パスが正しいことを確認してください。

  3. このリソースを使用する場合は、StaticResourceとそのキーを使用する必要があります。デフォルトのフォントファミリを上書きする場合、あなたはこのようなContentControlThemeFontFamilyリソースオーバーライドすることができます

<FontFamily x:Key="ContentControlThemeFontFamily">ms-appx:///Assets/Blambot-Custom.ttf#Blambot Custom</FontFamily>は、私のレイアウトの結果はここにある:

enter image description here

まだ問題がある場合は、フォントファイルリソースのダウンロードURLを投稿するコメントを残すことができますので、ダウンロードしてテストを受けることができます。

+0

その作業中:D PCL haha​​haのassetsフォルダにフォントを配置しました。しかし、徹底的な説明をありがとう:)) – astropringles

関連する問題