WPF字体系列:Fonts.SystemFontFamilies& System.Drawing.Text.InstalledFontCollection()。家庭

时间:2011-10-30 04:39:47

标签: c# wpf

WPF:为什么这两个给出不同的值?

FontSelector.ItemsSource = Fonts.SystemFontFamilies;

FontSelector.ItemsSource = from font
                           in new System.Drawing.Text.InstalledFontCollection().Families
                           select font.Name;

请解释一下?

1 个答案:

答案 0 :(得分:1)

WPF API为您提供字体系列。例如,这意味着 Arial 将在列表中出现一次,而不是 Arial Narrow Arial Black 等的几个条目。没问题,因为您应该使用TextElement.FontWeight属性指定它。这与在控制面板中分组字体的方式相同。

此外,System.Drawing API在WPF时不包含Open Type字体(.otf),因此该列表中将缺少它们。