因為實現ImageButton接觸ttf在wpf中的使用,ttf是圖標按鈕的集合文件。可在阿里www.iconfont.cn網站選擇下載。首先選擇所需圖標添加到購物車,選擇完成后從購物車中選擇“下載代碼”,便可將其中的圖標打包生成ttf文件並下載至本地。下載的文件夾中包含圖一所示文件,其中iconfont.ttf是程序所需文件,打開該文件可看到“字體名稱”,程序根據該名稱查找ttf文件。程序中引用該文件首先需將該字體包設置為Resource,如FontFamily。
c#代碼中的引用格式為“#”+"字體名稱"。iconfont.cn中下載的字體名稱一般都是“iconfont”,所以引用時使用“#iconfont”即可,實例截取:component/Resources/#iconfont"。
圖一
圖一中的demo_unicode.html包含了ttf文件中的unicode編碼,如圖二所示。wpf中引用時,在xaml和xaml.cs中的方式有所不同。如arrow-left圖標的編碼是“”,當在xaml中引用時需要直接復制該編碼,而在代碼(.cs文件)中引用時,格式為“\ue614”。
圖二
具體介紹在App.xaml中設置為程序資源(Application.Resources)的方法及使用步驟:
步驟1,在App.xaml中設置如下,其中ttf資源文件所在目錄為WpfUI/Resources/,WpfUI是項目名稱,iconfont.ttf是字體庫文件名,iconfont是字體庫的“字體名稱”。
<Application.Resources>
<FontFamily x:Key="IconFont">
pack://application:,,,/WpfUI;component/Resources/iconfont.ttf#iconfont
</FontFamily>
<!--其他設置-->
</Application.Resources>
步驟2,在xaml中應用到目標,以設置MenuItem圖標為例
<MenuItem Name="menuItem1" Header="Icon示例" Icon="" FontFamily="{StaticResource IconFont}">
當前項目常用圖標地址:http://www.iconfont.cn/collections/detail?cid=4215