如何在SymbolIcon枚举中使用其他图标?

Wil*_*emW 1 xaml uwp

我在我的UWP应用程序中使用SymbolIcon控件,这非常方便.但我发现其他应用程序使用的枚举符号比枚举更多.我怎么能用它们呢?

小智 5

SymbolIcon枚举是一套标准的通用图标.但它们实际上是Segoe MDL2 Assets字体中字符的快捷方式.如果您打开Word,您可以选择该字体.如果您然后转到插入 - 符号 - 符号 - 更多符号...您会看到该字体中的所有可用图标.如果单击其中一个图标,则还会看到该图标的字符代码(例如,耳机图标为E95B).

要使用其他,您可以使用FontIcon控件并设置Glyph属性.根据您使用它的位置,有不同的设置方法.对于带有字符代码E95B的示例Headset图标,您可以这样做:

在XAML中,您可以像这样定义它:

<FontIcon x:Name="SampleFontIcon" Glyph="&#xE95B;" FontSize="200" />
Run Code Online (Sandbox Code Playgroud)

您需要在值前加上&#x,并用半圆关闭它.如您所见,您可以使用FontSize属性确定大小.如果要在C#代码中设置值,可以这样做:

SampleFontIcon.Glyph = "\uE95B";
Run Code Online (Sandbox Code Playgroud)

我曾经想调试这些值并想出这个方法来显示值:

private string getUnicodeString(string input)
{
    byte[] bytes = Encoding.Unicode.GetBytes(input);
    if (bytes.Length == 0) return "";
    string output = "\\u";
    for (int i = bytes.Length - 1; i >= 0; i--)
        output += string.Format("{0:X}", bytes[i]);
    return output;
}
Run Code Online (Sandbox Code Playgroud)

现在,您可以将字形值转换回代码中您熟悉的内容.