或許,系統自帶的字體不足以體現應用程序的魅力,對於表現極強的漢字來講,更是如此。這時候,咱們就會想,要是能把網上下載的藝術字體塞到應用包中,那豈不美哉?那麼,這能夠實現嗎?答案是Yes的。框架
接下來,阿拉就給你們分別演示WP 8.1兩個開發框架中如何嵌入自定義字體。編輯器
爲啥是兩大框架?咱們知道從7x到8.0的開發框架是Silverlight for Windows Phone,爲了便於兼容和直接項目升級,在8.1中,微軟的開發團隊依然保留了這個框架;另一個框架是從Win RT應用移植的API集,這個不用我多說了,猜也猜到了,就是方便編寫與Windows 平板應用通用應用而準備的。字體
固然,若是僅僅打算開發WP應用,那麼兩個框架均可以用,你看哪一個順眼就用哪一個,無所謂,大同小異;若是你計劃編寫通用程序,那隻能選擇運行時API集,即從RT應用移植過來的子集。spa
但我告訴你,不管是哪一個框架,都沒什麼本質區別,至少用起來是同樣的,微軟後來許多開發技術都是從WPF中來的,保存了很好的延續性,你只要學會WPF,其餘的框架就能夠不學自通了。3d
總之,記住個人一句話:技術和知識永遠是死的,人永遠是活的,不要把知識學死了。調試
先看看在運行時API下如何嵌入自定義字體。這個就灰常簡單了。code
一、打開萬能的VS,新建一個項目,項目模板選擇「空白應用程序(Windows Phone)」,凡是括號中指明「Windows Phone」的模板都是基於從RT移植的運行時API的。如圖。component
二、打開「解決方案資源管理器」窗口(不要問我在哪裏),用鼠標右鍵拼命點擊項目名稱節點,從彈出的菜單中選擇「添加」-「現有項」,選擇一個字體文件,字體能夠網上下,多得是。blog
三、打開MainPage.xaml頁,聲明一個TextBlock元素,而後在XAML編輯器中選中這個TextBlock,接着打開屬性窗口,找到FontFamily屬性,點擊下拉列表,你就會看到剛添加到項目的字體文件了。資源
注意看,添加到項目的自定義字體的右邊會多了一個A符號。這樣就會生成如下XAML:
<TextBlock FontFamily="禹衛書法行書簡體.ttf#yuweij" ……
連URL都不用本身寫了,從中咱們看到引用字體文件的方法是「文件URL + # + 字體名稱」。#後面就是字體的名字。
四、搞定,如今往TextBlock中放些文本。
<TextBlock FontFamily="禹衛書法行書簡體.ttf#yuweij" FontSize="50"> 《登黃鶴樓》<LineBreak/> 崔顥<LineBreak/> 昔人已乘黃鶴去,<LineBreak/> 此地空餘黃鶴樓。<LineBreak/> 黃鶴一去不復返,<LineBreak/> 白雲千載空悠悠。<LineBreak/> 晴川歷歷漢陽樹,<LineBreak/> 芳草萋萋鸚鵡州。<LineBreak/> 日暮鄉關何處是,<LineBreak/> 煙波江上令人愁。 </TextBlock>
如今,能夠運行一下了。看看應用頁面,是否是發現,氣質立刻提高了九個檔次?
SL框架也是能夠嵌入字體的,和上面的差很少。
一、新建一個項目,項目模板爲「空白應用程序(Windows Phone Silverlight)」,凡是用SL框架的項目模板,括號中都會註明「Windows Phone Silverlight」。
版本就選8.1吧。
二、打開「解決方案資源管理器」窗口,右擊項目節點,從彈出的菜單中選擇「添加」-「現有項」,把自定義字體文件添加進來。
三、打開MainPage主頁,聲明一個TextBlock元素,而後在XAML編輯器中選中它,並打開屬性窗口。找到FontFamily屬性,從下拉列表中選擇剛剛添加的字體。
這時候,生成的XAML中一樣向咱們展現了其URL格式:
<TextBlock FontFamily="/CustFontfamilyAppSL;component/禹衛書法行書簡體.ttf#yuweij"/>
格式一樣是「字體文件URL + # + 字體名字」。
四、如今,能夠往TextBlock中放點文本,以體驗一下。
<TextBlock FontFamily="/CustFontfamilyAppSL;component/禹衛書法行書簡體.ttf#yuweij" FontSize="50"> 《秋窗風雨夕》<LineBreak/> 秋花慘淡秋草黃,<LineBreak/> 耿耿秋燈秋夜長。<LineBreak/> 已覺秋窗秋不盡,<LineBreak/> 那堪風雨助淒涼。<LineBreak/> ……<LineBreak/> 淚燭搖搖爇短檠,<LineBreak/> 牽愁照恨動離情。<LineBreak/> 誰家秋院無風入?<LineBreak/> 何處秋窗無雨聲。<LineBreak/> ……<LineBreak/> 不知風雨幾時休,<LineBreak/> 已教淚灑窗紗溼。 </TextBlock>
而後,咱們能夠運行了,看看結果吧。
估計此刻有人已經在罵我是騙子了,爲何運行後看不到自定義的字體啊?
莫急,莫急,鎮定是一筆財富,千萬別急。先結束調試項目,而後打開「解決方案資源管理器」,找到剛纔添加到項目的字體文件,而且選中它,而後打開屬性窗口,將「生成操做」改成Resource。
如今,你再運行一次看看。
看到了吧,我這麼誠實的人,怎麼會騙你呢?