以编程方式设置Segoe UI Symbol字体

11

我正在学习Windows Phone编程。自从我有了Lumia 610(WP7.8),我就使用7.1 SDK进行编程。问题是,我希望我的应用程序能够将字符串与箭头符号连接起来,这在Segoe UI Symbol字体中是可用的。但当我尝试在程序中强制使用Segoe UI字体时,它无法正常工作(只显示&#x 2708;字符串)。但是如果我强制使用例如Comic Sans MS等字体,则没有问题。

this.lExercise.Text = "zxcv";
                this.lExercise.Inlines.Add(new Run()
                {
                    Text = "✈",
                    FontFamily = new FontFamily("Segoe UI Symbol")                       
                });
                this.lExercise.Inlines.Add(new Run() { Text = " asdf", FontSize = 36 });

任何想法都将不胜感激 :)

3个回答

19

表示向右箭头的符号是U+2192。您正在使用的字符串(✈)已经被转义以便在XAML中使用。在代码中使用时,您可以使用\u2192来让它知道这是一个符号。因此应该写成:

Text = "\u2192", //or \u2708 if you want the plane symbol

这是我帖子中的一个错误,我的意思是当我更改字体族时,带有代码(&#x 2708;)的字符串不会变成符号... - kkoscielniak
可能是字体集没有相应的符号。请参考此列表获取可用的符号。 - keyboardP
当我在XAML中放置→代码时,它以正常方式显示,因此它必须可用。 - kkoscielniak
1
抱歉,我错过了显而易见的错误。你使用的字符串之所以有效是因为它在XAML中,所以已经被转义了。在代码中不需要对其进行转义,只需添加\u来表示它是一个符号即可。我已经更新了答案。 - keyboardP

1
您可以使用 string content = '\u2708'.ToString();

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接