2009-10-27 3 views
6

В настоящее время я работаю над небольшим организацией шрифтов/предварительным просмотром для себя, однако мне сложно получить точную информацию, в которой я нуждаюсь.Получить имя шрифта от FontFamily в WPF

Я обнаружил, что могу загрузить внешний шрифт, просто создав новый объект FontFamily с расположением файла шрифта в качестве источника. Тем не менее, я не могу найти способ получить имя шрифта конкретного шрифта. Я знаю, что могу использовать FontFamily.FamilyNames, чтобы получить имя шрифта, но это бесполезно для меня, когда у меня есть несколько шрифтов с тем же семейством, которое отображается. Я бы хотел отобразить конкретное имя для конкретного шрифта.

Есть ли способ сделать это? В настоящее время я отображаю имя файла, но это невероятно неряшливо, потому что я должен перебирать каждый файл в каталоге и вызывать Fonts.GetFontFamilies() для каждого, чтобы я мог получить фактическое имя файла (свойство Source FontFamily дает только временное семейство WPF -name вместо чего-то полезного).

ответ

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