C# 组合框中的填充转义序列字符显示空空格

C# 组合框中的填充转义序列字符显示空空格,c#,wpf,combobox,truetype,C#,Wpf,Combobox,Truetype,我正在用ttf文件中的所有字符绑定一个组合框。组合框为某些字符显示空白,如\n\r\t\a等。我找不到这样做的原因 这是我用来填充所有符号的代码 var families = Fonts.GetFontFamilies(new Uri(fontFilePath)); foreach (FontFamily family in families) { var typefaces = family.GetTypeface

我正在用ttf文件中的所有字符绑定一个组合框。组合框为某些字符显示空白,如\n\r\t\a等。我找不到这样做的原因

这是我用来填充所有符号的代码

var families = Fonts.GetFontFamilies(new Uri(fontFilePath));
            foreach (FontFamily family in families)
            {
                var typefaces = family.GetTypefaces();
            foreach (Typeface typeface in typefaces)
            {
                GlyphTypeface glyph;
                typeface.TryGetGlyphTypeface(out glyph);
                IDictionary<int, ushort> characterMap = glyph.CharacterToGlyphMap;

                foreach (var item in characterMap.Values)
                {
                    char temp = Convert.ToChar(item);
                    string str = string.Format("{0}", temp);
                    if (!listOfString.Contains(str))
                    {
                        listOfString.Add(str);
                    }
                }
            }
        }
        listOfString.Sort();
        ddlSymbols.ItemsSource = listOfString;
var families=font.GetFontFamilies(新Uri(fontFilePath));
foreach(FontFamily in families)
{
var typefaces=family.GetTypefaces();
foreach(字体中的字体)
{
字形字体字形;
字体。tryGetGlyph字体(外字形);
IDictionary characterMap=glyph.CharacterToGlyphMap;
foreach(characterMap.Values中的变量项)
{
字符温度=转换为字符(项目);
string str=string.Format(“{0}”,temp);
如果(!listOfString.Contains(str))
{
listOfString.Add(str);
}
}
}
}
listOfString.Sort();
ddlsymbles.ItemsSource=listOfString;
任何帮助都将不胜感激。提前谢谢

在C#中,有些字符称为“转义序列”,是特殊字符

  • \“(UTF-16:\u0027)=允许在字符文本中输入
    ,例如\”
  • \“(UTF-16:\u0022)=允许在字符串文本中输入
    ,例如,“这是 双引号(\“”)字符“
  • \\u005c允许在字符或字符串文本中输入
    \
    字符,例如“\”或“这是反斜杠 (\)字符“
  • \0(UTF-16:\u0000)=允许输入代码为0的字符
  • \a(UTF-16:\u0007)=报警(通常为硬件蜂鸣音)
  • \b(UTF-16:\u0008)=背面空间
  • \f(UTF-16:\u000c)=表单提要(下一页)
  • \n(UTF-16:\u000a)=换行符(下一行)
  • \r(UTF-16:\u000d)=回车(移到行的开头)
  • \t(UTF-16:\u0009)=(水平-)选项卡
  • \v(UTF-16:\u000b)=垂直选项卡

因此,当您映射角色时,会使用它们的特殊行为。

您认为\t应该显示什么?组合框应该显示\t,\n而不是空白。但是\t是一个选项卡。您真的认为组合框不应该将选项卡显示为选项卡吗?如果您想要文本,则需要转义控制字符并格式化charac特尔斯。