2016-08-15 3 views
2

자산 폴더에 사용자 정의 글꼴이 있고이 글꼴을 응용 프로그램의 전역 글꼴로 지정해야합니다. 이것은 내가 생각한 것이지만 작동하지 않습니다.App.xaml에서 전역 사용자 정의 글꼴을 설정하는 방법

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

나는 이것을 텍스트 상자의 스타일 설정자에 추가하여 호출합니다.

+0

글로벌 사용자 지정 글꼴을 설정하는 방법이 있는지 알고 싶습니다. – AVK

답변

2

이것은 생각했지만 작동하지 않습니다.

여기에 무슨 문제가 있는지 알기가 어렵습니다. 코드를 기반으로하면 작동합니다.

<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 및 해당 키를 사용해야합니다. 기본 폰트 패밀리를 오버라이드 (override) 할 경우이 같은 ContentControlThemeFontFamily 자원을 대체 할 수 있습니다

  4. :

<FontFamily x:Key="ContentControlThemeFontFamily">ms-appx:///Assets/Blambot-Custom.ttf#Blambot Custom</FontFamily> 내 레이아웃의 결과는 여기에 있습니다 :

enter image description here

여전히 문제가있는 경우 글꼴 파일 리소스의 다운로드 URL을 게시하는 주석을 남길 수 있으므로 다운로드하여 테스트 할 수 있습니다.

+0

현재 작동 중입니다. D PCL hahaha의 assets 폴더에 글꼴을 배치했습니다. 철저한 설명 주셔서 감사합니다 :)) – astropringles

관련 문제