【问题标题】:Set Segoe UI Symbol font programmatically以编程方式设置 Segoe UI Symbol 字体
【发布时间】:2013-06-24 20:55:04
【问题描述】:

我学习 Windows Phone 编程。由于我得到了 Lumia 610 (WP7.8),所以我用 7.1 SDK 编写。问题是我希望我的应用程序将字符串与箭头符号连接起来,该符号在 Segoe UI Symbol 字体中可用。但是当我尝试以编程方式强制程序使用 Segoe UI 字体时它不起作用(它只显示一个 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 });

任何想法表示赞赏:)

【问题讨论】:

    标签: c# windows-phone-7 windows-phone


    【解决方案1】:

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

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

    【讨论】:

    • 这是我帖子中的一个错误,我的意思是当我更改字体系列时,带有代码 ( 2708;) 的字符串不会变成符号...
    • 可能只是字体集没有等效字体。有关可用符号,请参阅 this list
    • 当我把 2192; XAML 中的代码以正常方式显示,因此它必须可用。
    • 抱歉,我错过了明显的错误。您使用的字符串有效,因为它在 XAML 中,因此已被转义。您无需在代码中对其进行转义,只需添加\u 即可表明它是一个符号。我已经更新了答案。
    • 非常感谢,非常感谢。
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      来自 Windows 开发中心:: https://docs.microsoft.com/en-us/windows/uwp/design/style/segoe-ui-symbol-font#about-segoe-mdl2-assets

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

      【讨论】:

        猜你喜欢
        • 2015-02-22
        • 2010-11-21
        • 1970-01-01
        • 2023-03-07
        • 2013-11-22
        • 1970-01-01
        • 2021-08-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多