作为字符串的 Font Awesome 代码未按预期呈现

Font Awesome code as string not rendering as expected

我有一个 Label 这样的:

              new Label
                {
                    FontFamily = FontAwesome.Light,
                    FontSize = 50,
                    TextColor = Palette.Common.Accent,
                    BackgroundColor = Color.Transparent,
                    HorizontalTextAlignment = TextAlignment.Start,
                    VerticalTextAlignment = TextAlignment.Center,
                    HorizontalOptions = LayoutOptions.Start,
                    VerticalOptions = LayoutOptions.Center
                }
                .Bind(Label.TextProperty, nameof(MyFieldModel.iconCode))

iconCodeMyFieldModel 中是 string.

string iconCode = "f135";

这只是呈现为文字字符串 f135 而不是火箭。 (f135 是 fontawesome 中火箭的代码)。

但是当我把它改成:

string iconCode = "\uf135";

它呈现为火箭。

如果我将图标代码输入为 string,例如“f135”。如何在代码中将其转换为 \uf135 格式。

我尝试了以下所有方法并且 none 有效:

// try 1
string iconCode = "\u" + myCodeString;
// try 2
string iconCode = @"\u" + myCodeString;
// try 3
StringBuilder sb = new StringBuilder();
sb.AppendFormat("U+{0:X4} ", iconCode);

如何让它发挥作用?

基于,尝试

= System.Text.RegularExpressions.Regex.Unescape(@"\u" + myCodeString);

例如,如果myCodeString包含"f135",这相当于

= System.Text.RegularExpressions.Regex.Unescape(@"\uf135");

这应该给你相同的结果:

= "\uf135";

包含该单个 unicode 字符的字符串。