C# 以编程方式设置Segoe UI符号字体

C# 以编程方式设置Segoe UI符号字体,c#,windows-phone-7,windows-phone,C#,Windows Phone 7,Windows Phone,我学习Windows Phone编程。因为我得到了Lumia610(WP7.8),所以我使用7.1SDK编写。问题是我希望我的应用程序将字符串与箭头符号连接起来,箭头符号在Segoe UI符号字体中可用。但当我试图以编程方式强制程序使用Segoe UI字体时,它不起作用(它只显示一个&#x 2708;字符串)。当我强制使用例如Comic Sans MS时-没有问题 this.lExercise.Text = "zxcv"; this.lExercise.Inlin

我学习Windows Phone编程。因为我得到了Lumia610(WP7.8),所以我使用7.1SDK编写。问题是我希望我的应用程序将字符串与箭头符号连接起来,箭头符号在Segoe UI符号字体中可用。但当我试图以编程方式强制程序使用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 });
任何想法都值得赞赏:)

a的符号是
U+2192
。您正在使用的字符串(
✈;
)已被转义,以便可以在XAML中使用。在代码中使用它时,可以使用
\u2192
让它知道它是一个符号。应该如此

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

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

来自Windows开发中心:


随着Windows 10的发布,Segoe MDL2资产字体取代了Windows 8/8.1 Segoe UI符号图标字体。(Segoe UI Symbol仍将作为“遗留”资源提供,但我们建议更新您的应用程序以使用新的Segoe MDL2资产。)

这是我文章中的一个错误,我的意思是,当我更改字体系列时,带代码的字符串(&#x 2708;)不会更改为符号……可能只是字体集没有等效的字体。有关可用的符号,请参见。当我放置&#x 2192;XAML中的代码以正常方式显示,因此必须可用。抱歉,我错过了明显的错误。您正在使用的字符串是有效的,因为它在XAML中,所以它已被转义。您不需要在代码中转义它,只需添加
\u
即可显示它是一个符号。我已经更新了答案。非常感谢,我真的很感激。