2009-10-27 94 views
6

我目前正在为自己制作一个小字体组织/预览应用程序,但是,我很难获取我需要的确切信息。从WPF的FontFamily获取字体名称

我发现我可以加载一个外部字体,只需创建一个字体的文件位置作为其源的新的FontFamily对象。但是,我找不到一种方法来获取字体的特定字体名称。我知道我可以使用FontFamily.FamilyNames来获取字体的系列名称,但是当我显示具有相同系列的多种字体时,这对我来说是无用的。我想实际显示特定字体的特定名称。

有没有办法做到这一点?我当前显示的是文件名,但是它非常潦草,因为我必须遍历目录中的每个文件,并在每个文件上调用Fonts.GetFontFamilies(),以便我可以获取实际的文件名(FontFamily的Source属性仅为WPF的临时系列名称来源而不是有用的东西)。

回答

2

这是我在做什么:

 ListBoxItem listBoxItem = null; 
     foreach (FontFamily fontFamily in Fonts.SystemFontFamilies) 
     { 
      listBoxItem = new ListBoxItem(); 
      listBoxItem.Content = fontFamily; 
      listBoxItem.FontFamily=fontFamily; // Shows Font Text in the Font 
      FontFamilyListBox.Items.Add(listBoxItem); 
     } 
+0

那么简单'的ToString()'对字体家族似乎工作。 – ghord