在Windows Phone 8应用程序中添加字体真棒

时间:2014-04-07 07:06:59

标签: c# visual-studio-2013 font-awesome

我在Windows Phone 8 App中使用Font Awesome。 我在数据库中添加了一部分unicode(例如f000)。 在我的代码中,我添加“\ u”来完成unicode。我这样添加:

_model.ContentImage = @"\u" + rec.UniContentImage;

当我调试它并添加断点时,contentimage填充"\\uf000"(在调试器中)。 并且不会显示字体。当我将contentimage中的内容(在调试器中)更改为"\uf000"时,正确显示了令人敬畏的字体。

有谁知道如何在c#中正确和动态地添加字体真棒?

1 个答案:

答案 0 :(得分:2)

这将加载FontAwesome自定义字体,以便在Windows 8.1 Universal apps中使用:

FontFamily customFont = new FontFamily("ms-appx:///Assets/FontAwesome.otf#FontAwesome");
textBlock.FontFamily = customFont;
textBlock.Text = "\uf164"; // thumbs up!

注意:设置' FontAwesome.otf'属性:

  • 构建行动:'内容'
  • 复制到输出目录:'不要复制'

这里还有我用来为Binding返回Unicode字符串的数据模型方法(其中this.code是" \ uf164"):

public String unicode
    {
        get
        {
            String codePoint = this.code.Substring(2); // remove '\u' => "f164";
            int unicode = int.Parse(codePoint, System.Globalization.NumberStyles.HexNumber);
            String unicodeString = char.ConvertFromUtf32(unicode).ToString();
            return unicodeString; // "\uf164"
        }
    }