在WPF中,以下代码将返回给定位置所有字体的列表:
问题在于,如果你更改该文件夹的内容(添加或删除字体),然后再次运行此代码,则返回相同的列表(因为它在内部某处被缓存)。
此缓存将不会清除,直到你退出应用程序!
有没有办法防止这种行为,并始终使 WPF 在那个时刻查找该文件夹中的字体呢?
注意:无论“Windows Presentation Foundation Font Cache 3.0.0.0”服务状态是启动还是停止,结果都是相同的。显然,该特定类型的缓存未被该服务处理。
foreach (var fontFamily in Fonts.GetFontFamilies(@"C:\Dummy\Fonts\"))
{
System.Diagnostics.Debug.WriteLine(fontFamily.Source);
}
问题在于,如果你更改该文件夹的内容(添加或删除字体),然后再次运行此代码,则返回相同的列表(因为它在内部某处被缓存)。
此缓存将不会清除,直到你退出应用程序!
有没有办法防止这种行为,并始终使 WPF 在那个时刻查找该文件夹中的字体呢?
注意:无论“Windows Presentation Foundation Font Cache 3.0.0.0”服务状态是启动还是停止,结果都是相同的。显然,该特定类型的缓存未被该服务处理。