2009-10-27 91 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