Xaml 如何使用其他图标作为SymbolIcon枚举中的图标?

Xaml 如何使用其他图标作为SymbolIcon枚举中的图标?,xaml,uwp,Xaml,Uwp,我在UWP应用程序中使用SymbolIcon控件,非常方便。但我看到其他应用程序使用的符号比枚举提供的要多。如何使用它们?是一组标准的常用图标。但它们实际上是Segoe MDL2字体中字符的快捷方式。如果打开Word,可以选择该字体。如果您随后进入Insert-Symbols-Symbol-More Symbols…您将看到该字体中可用的所有图标。如果单击其中一个图标,您还会看到该图标的字符代码,例如耳机图标为E95B 要使用其他控件,可以使用FontIcon控件并设置Glyph属性。根据使用位

我在UWP应用程序中使用SymbolIcon控件,非常方便。但我看到其他应用程序使用的符号比枚举提供的要多。如何使用它们?

是一组标准的常用图标。但它们实际上是Segoe MDL2字体中字符的快捷方式。如果打开Word,可以选择该字体。如果您随后进入Insert-Symbols-Symbol-More Symbols…您将看到该字体中可用的所有图标。如果单击其中一个图标,您还会看到该图标的字符代码,例如耳机图标为E95B

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

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

<FontIcon x:Name="SampleFontIcon" Glyph="&#xE95B;" FontSize="200" />
SampleFontIcon.Glyph = "\uE95B";
我曾经想调试这些值,并提出了以下方法来显示这些值:

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;
}
现在,您可以将glyph值转换回代码中熟悉的值。

是一组标准的常用图标。但它们实际上是Segoe MDL2字体中字符的快捷方式。如果打开Word,可以选择该字体。如果您随后进入Insert-Symbols-Symbol-More Symbols…您将看到该字体中可用的所有图标。如果单击其中一个图标,您还会看到该图标的字符代码,例如耳机图标为E95B

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

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

<FontIcon x:Name="SampleFontIcon" Glyph="&#xE95B;" FontSize="200" />
SampleFontIcon.Glyph = "\uE95B";
我曾经想调试这些值,并提出了以下方法来显示这些值:

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;
}

现在,您可以将glyph值转换回您在代码中熟悉的值。

Martin的答案绝对正确,我只需要两点

如果您想查看所有可能的Segoe图标,比Word更好的方法是运行内置的Windows应用程序“角色映射”,在其中选择“Segoe MDL2资产”,然后查看代码和图标

即使在基本文本块中,您也可以使用此图标,您只需更改FontFamily:

<TextBlock FontFamily="Segoe MDL2 Assets"
           Text="&#xE700;"
           ..... />

马丁的回答完全正确,我只说了两点

如果您想查看所有可能的Segoe图标,比Word更好的方法是运行内置的Windows应用程序“角色映射”,在其中选择“Segoe MDL2资产”,然后查看代码和图标

即使在基本文本块中,您也可以使用此图标,您只需更改FontFamily:

<TextBlock FontFamily="Segoe MDL2 Assets"
           Text="&#xE700;"
           ..... />