在GDI+中,我們可以通過如下方式取得系統所有字體:
foreach(FontFamily f in FontFamily.FamilIEs)
{
// 處理代碼
}
在WPF中,如何取得所有系統字體列表呢?如下:
由於簡單,所以不詳述,只列C#代碼(注意加粗的部分,同時,這裡還對字體進行了排列處理):
private void InitializeFontFamilyList()
{
ICollection<FontFamily> familyCollection = Fonts.SystemFontFamilIEs;
if (familyCollection != null)
{
FontFamilyListItem[] items = new FontFamilyListItem[familyCollection.Count];
int i = 0;
foreach (FontFamily family in familyCollection)
{
items[i++] = new FontFamilyListItem(family);
}
Array.Sort<FontFamilyListItem>(items);
foreach (FontFamilyListItem item in items)
{
// 加入你的處理代碼
}
}
}