我在我的UWP应用程序中使用SymbolIcon控件,这非常方便。但我发现其他应用程序使用的枚举符号比枚举更多。我怎样才能使用它们?
答案 0 :(得分:5)
The SymbolIcon
enumeration是一组标准的常用图标。但它们实际上是Segoe MDL2 Assets
字体中字符的快捷方式。如果您打开Word,您可以选择该字体。如果您然后转到插入 - 符号 - 符号 - 更多符号...您会看到该字体中的所有可用图标。如果单击其中一个图标,则还会看到该图标的字符代码(例如,耳机图标为E95B)。
要使用其他人,您可以使用FontIcon
控件并设置Glyph
属性。根据您使用它的位置,有不同的设置方法。对于带有字符代码E95B的示例Headset图标,您可以这样做:
在XAML中,您可以这样定义:
<FontIcon x:Name="SampleFontIcon" Glyph="" FontSize="200" />
您需要在&amp; #x之前加上值,然后用半圆关闭它。如您所见,您可以使用FontSize
属性确定大小。
如果要在C#代码中设置值,可以这样做:
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;
}
现在,您可以将字形值转换回您在代码中熟悉的内容。
答案 1 :(得分:2)
马丁的回答是绝对正确的,只有我的两点。
如果你想看到所有可能的Segoe图标,比Word更好的是运行内置的Windows应用程序&#39;字符映射&#39;,您可以选择&#39; Segoe MDL2资产&#39;你会看到代码和图标。
即使在基本的TextBlock中你也可以使用这个图标,你只需要改变FontFamily:
<TextBlock FontFamily="Segoe MDL2 Assets"
Text=""
..... />