【WP 8.1開發】如何把自定義字體塞進應用裏

或許,系統自帶的字體不足以體現應用程序的魅力,對於表現極強的漢字來講,更是如此。這時候,咱們就會想,要是能把網上下載的藝術字體塞到應用包中,那豈不美哉?那麼,這能夠實現嗎?答案是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

先看看在運行時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>

如今,能夠運行一下了。看看應用頁面,是否是發現,氣質立刻提高了九個檔次?

 

Silverlight框架

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。

如今,你再運行一次看看。

看到了吧,我這麼誠實的人,怎麼會騙你呢?

相關文章
相關標籤/搜索